176462025-08-24 16:05:13algoproFasor (40)cpp17Hibás válasz 28/4075ms2344 KiB
// UUID: 97f0d26d-d0f6-4a8c-acc6-8a90268b8641
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k, semmi=0;
    cin >> n >> k;
    vector<int> magas(n+1), nagy;
    if (k > 1){
    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
base28/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Hibás válasz0/22ms344 KiB
9Elfogadva2/24ms508 KiB
10Elfogadva2/24ms364 KiB
11Hibás válasz0/24ms328 KiB
12Elfogadva2/23ms316 KiB
13Hibás válasz0/237ms1052 KiB
14Hibás válasz0/235ms1440 KiB
15Elfogadva2/259ms1704 KiB
16Elfogadva2/268ms1588 KiB
17Elfogadva2/275ms1712 KiB
18Elfogadva2/275ms1448 KiB
19Hibás válasz0/275ms2344 KiB
20Elfogadva2/223ms1072 KiB
21Elfogadva2/261ms1844 KiB
22Elfogadva2/274ms1272 KiB