Submission #1351378

#TimeUsernameProblemLanguageResultExecution timeMemory
1351378trigonInfinite Race (EGOI24_infiniterace2)C++20
34 / 100
76 ms19968 KiB
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    vector<set<int>> occ(n);
    int q;
    vector<int> a;
    cin >> q;
    int ans=0;
    for(int i=0;i<q;i++){
        int x;
        cin >> x;
        occ[x].insert(i);
        a.push_back(x);
    }
    int idx = INT_MAX;
    for(int i=0;i<q;i++){
        if(i==idx) {ans++; idx=INT_MAX;}
        if(*prev(occ[a[i]].end()) > i) idx = min(*occ[a[i]].upper_bound(i),idx);
    }
    cout<<ans<<"\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...