Submission #798210

#TimeUsernameProblemLanguageResultExecution timeMemory
798210BidoTeimaMoney (IZhO17_money)C++17
0 / 100
1 ms300 KiB
#include <bits/stdc++.h> 
typedef long long ll;
using namespace std;  
int main() {     
    int n;
    cin>>n;
    int a[n];
    set<int>st;
    map<int,int>freq{};
    for(int i = 0; i < n; i++)cin>>a[i],st.insert(a[i]),++freq[a[i]];  
    int ans=0,i=n-1;
    while(true){
        while(i>=1){
            auto it = st.find(a[i]), it2 = st.find(a[i - 1]);
            --i;
            --freq[*it];
            if(it == it2 || it2 == prev(it)){
                if(freq[*it] == 0){
                    st.erase(it);
                }
                continue;
            }
            else{ if(freq[*it] == 0){
                st.erase(it);
            }
            break;}
        }
        ans++;
        if(i == 0)break;
    }
    cout<<ans;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...