176472025-08-24 16:06:31algoproFasor (40)cpp17Hibás válasz 30/4075ms2348 KiB
// UUID: 5b7739bf-0cf9-4b58-9fc4-c232e00d883d
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k, semmi=0;
    cin >> n >> k;
    vector<int> magas(n+1), nagy;
    
    for(int i=1; i<=n; i++){
        cin >> magas[i];
    }
    for(int i=0; i<=n-k; i+=k){
        int ln=magas[i+1];
        for(int j=i+1; j<=i+k; j++){
            if (magas[j] > ln) ln=magas[j];
        }
        for(int l=i+1; l<=i+k; l++){
            if (magas[l] == ln) nagy.push_back(l);
        }
    }
    if ((n/k)*k < n){
    int ln=magas[(n/k)*k+1];
    for(int i=(n/k)*k+1; i<=n; i++){
        if (magas[i] > ln) ln=magas[i];
     for(int j=(n/k)*k+1; i<=n; i++){
         if (magas[j] == ln) nagy.push_back(j);
     }   
    }}
    for (int i=0; i<nagy.size()-1; i++){
        int j=i+1;
        while (nagy[j]-nagy[i] <= k){
            if (magas[nagy[j]]-magas[nagy[i]] > 0) break;
            else if (j < nagy.size()-1) j++;
                else {cout << nagy[i]; return 0;}
        }
        if (nagy[j]-nagy[i] <= k && magas[nagy[j]]-magas[nagy[i]] > 0 && i < nagy.size()-2) semmi++;
        else if (nagy[j]-nagy[i] <= k && magas[nagy[j]]-magas[nagy[i]] > 0) {cout << nagy[j]; return 0;}
           else {cout << nagy[i]; return 0;}
    }
    }
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Hibás válasz0/22ms544 KiB
9Elfogadva2/24ms436 KiB
10Elfogadva2/24ms316 KiB
11Hibás válasz0/24ms316 KiB
12Elfogadva2/23ms376 KiB
13Hibás válasz0/237ms1052 KiB
14Hibás válasz0/234ms1440 KiB
15Elfogadva2/259ms1832 KiB
16Elfogadva2/267ms1464 KiB
17Elfogadva2/275ms1836 KiB
18Elfogadva2/275ms1468 KiB
19Hibás válasz0/274ms2348 KiB
20Elfogadva2/221ms1256 KiB
21Elfogadva2/259ms1724 KiB
22Elfogadva2/272ms1344 KiB