81682024-01-12 15:31:34rennFasor (40)cpp17Hibás válasz 36/4030ms7252 KiB
#include <bits/stdc++.h>

using namespace std;
typedef pair<int,int> pi;

struct comp {
    bool operator()(pi& a, pi& b)
    {
        return a.second == b.second ? a.first > b.first : a.second < b.second;
    }
};



int main()
{
    cin.tie(0);
    ios::sync_with_stdio(0);

    int n, k, c;
    cin >> n >> k;

    priority_queue<pi, vector<pi>, comp> curr_max;

    for(int i = 0; i < k; i++)
    {
        cin >> c;
        curr_max.push({i, c});
        //cout << "m: " << curr_max.top().second << " i: " << curr_max.top().first << "\n";
    }
    for(int i = k; i < n; i++)
    {
        cin >> c;
        while(curr_max.top().first < i-k) curr_max.pop();
        curr_max.push({i, c});
        //cout << "m: " << curr_max.top().second << " i: " << curr_max.top().first << "\n";

        if(curr_max.top().first == i-k) // JOO LESZ EZ
        {
            for(int j = i+1; j < n; j++) cin >> c;

            cout << i-k+1 << "\n";
            exit(0);
        }
    }
    while(curr_max.top().first < n-k-1) curr_max.pop();

    cout << (curr_max.top().first == n-1 ? n : -1) << "\n";

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/40
1Elfogadva0/03ms1956 KiB
2Elfogadva0/04ms2064 KiB
3Elfogadva2/23ms2276 KiB
4Elfogadva2/23ms2372 KiB
5Elfogadva2/23ms2464 KiB
6Elfogadva2/23ms2432 KiB
7Elfogadva2/23ms2436 KiB
8Elfogadva2/23ms2444 KiB
9Elfogadva2/24ms2656 KiB
10Elfogadva2/24ms2880 KiB
11Elfogadva2/24ms2972 KiB
12Elfogadva2/23ms2960 KiB
13Elfogadva2/217ms5004 KiB
14Hibás válasz0/219ms7252 KiB
15Elfogadva2/228ms7100 KiB
16Elfogadva2/228ms5196 KiB
17Elfogadva2/230ms5280 KiB
18Elfogadva2/229ms5256 KiB
19Elfogadva2/230ms5104 KiB
20Hibás válasz0/213ms5108 KiB
21Elfogadva2/228ms7172 KiB
22Elfogadva2/230ms5364 KiB