Submission #1038363

#TimeUsernameProblemLanguageResultExecution timeMemory
1038363MilosMilutinovicBaloni (COCI15_baloni)C++14
100 / 100
59 ms31408 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<vector<int>> closest(MAXN); vector<int> nxt(MAXN,-1); vector<int> niz; int main() { ios_base::sync_with_stdio(false),cin.tie(0), cout.tie(0); int tt=1; //cin >> tt; while(tt--) { int n; cin >> n; niz.resize(n); for(int i=0; i<n; i++) { cin >> niz[i]; closest[niz[i]].push_back(i); if(!closest[niz[i]+1].empty()) { nxt[closest[niz[i]+1].back()] = i; closest[niz[i]+1].pop_back(); } } int rez = 0; for(int i=0; i<n; i++) { if(nxt[i] == -2)continue; int br = i; while(br !=-1) { int pre = br; br = nxt[br]; nxt[pre] = -2; } rez++; } cout << rez<< endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...