128512025-01-02 13:51:58BucsMateKéséscpp17Accepted 50/50125ms2876 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int N;
    cin >> N;
    vector<pair<int, int>> evszamok(N+1);
    for(int i = 1; i <= N; i++){
        cin >> evszamok[i].first;
        evszamok[i].second = i;
    }
    sort(evszamok.begin()+1, evszamok.end());
    vector<int> evszamok_normal(N+1);
    int normalValue = 1, lastValue = evszamok[1].first;
    for(int i = 1; i <= N; i++){
        if(evszamok[i].first != lastValue){
            normalValue++;
        }
        evszamok_normal[evszamok[i].second] = normalValue;
        lastValue = evszamok[i].first;
    }

    int nr = normalValue;
    bool voltmar[nr+1] = {};
    for(int i = N; i >= 1; i--){
        if(!voltmar[evszamok_normal[i]]){
            nr--;
            voltmar[evszamok_normal[i]] = true;
        }
        if(nr == 0){
            cout << i << endl;
            return 0;
        }
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms320 KiB
2Accepted0/08ms756 KiB
3Accepted5/51ms320 KiB
4Accepted5/51ms508 KiB
5Accepted5/579ms2752 KiB
6Accepted5/579ms2748 KiB
7Accepted4/497ms2748 KiB
8Accepted4/497ms2864 KiB
9Accepted4/497ms2744 KiB
10Accepted4/497ms2744 KiB
11Accepted4/497ms2752 KiB
12Accepted2/2122ms2616 KiB
13Accepted2/2119ms2876 KiB
14Accepted1/1119ms2864 KiB
15Accepted1/1119ms2744 KiB
16Accepted1/1119ms2752 KiB
17Accepted1/1120ms2756 KiB
18Accepted1/1125ms2752 KiB
19Accepted1/1123ms2616 KiB