149002025-02-06 16:41:21PKBLegcsalódottabb versenyző (75 pont)cpp14Hibás válasz 45/7535ms1684 KiB
#include <iostream>
#include <vector>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int> score(n);
    for (int i = 0; i < n; i++){
        cin >> score[i];
    }

    vector<int> nextGreater(n, -1);
    vector<int> st;
    for (int i = 0; i < n; i++){
        while (!st.empty() && score[i] > score[st.back()]){
            nextGreater[st.back()] = i;
            st.pop_back();
        }
        st.push_back(i);
    }

    int maxDuration = -1;
    int resultIndex = -1;

    for (int i = 0; i < n; i++){
        if (nextGreater[i] != -1) {
            int duration = nextGreater[i] - i;
            if (duration > maxDuration) {
                maxDuration = duration;
                resultIndex = i;
            }
        }
    }


    if (resultIndex == -1)
        cout << -1;
    else
        cout << resultIndex + 1;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/75
1Elfogadva0/01ms316 KiB
2Hibás válasz0/035ms1588 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva5/51ms316 KiB
5Elfogadva5/51ms316 KiB
6Elfogadva5/51ms512 KiB
7Hibás válasz0/51ms508 KiB
8Elfogadva5/51ms556 KiB
9Elfogadva5/51ms316 KiB
10Hibás válasz0/51ms400 KiB
11Elfogadva5/51ms316 KiB
12Elfogadva5/51ms316 KiB
13Elfogadva5/535ms1684 KiB
14Hibás válasz0/535ms1680 KiB
15Hibás válasz0/535ms1560 KiB
16Hibás válasz0/535ms1532 KiB
17Hibás válasz0/535ms1588 KiB