Submission #1038314

#TimeUsernameProblemLanguageResultExecution timeMemory
1038314MrPavlitoBaloni (COCI15_baloni)C++17
0 / 100
58 ms131072 KiB
#include <bits/stdc++.h> //#define int long long #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define fi first #define sc second #define endl "\n" #define pii pair<int,int> using namespace std; const int MAXN = 1e6+5; const int mod7 = 1e9+7; const long long inf = 1e18; vector<stack<int>> closest(MAXN); vector<int> nxt(MAXN,-1); bool visited[MAXN]; signed main() { ios_base::sync_with_stdio(false),cin.tie(0), cout.tie(0); int tt=1; //cin >> tt; while(tt--) { int n; cin >> n; vector<int> niz(n); for(int i=0; i<n; i++) { cin >> niz[i]; closest[niz[i]].push(i); if(!closest[niz[i]+1].empty()) { nxt[closest[niz[i]+1].top()] = i; closest[niz[i]+1].pop(); } } int rez = 0; for(int i=0; i<n; i++) { if(visited[i])continue; int br = i; while(br !=-1) { visited[br] = 1; br = nxt[br]; } rez++; } cout << rez<< endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...