Submission #412855

#TimeUsernameProblemLanguageResultExecution timeMemory
412855aryan12Global Warming (NOI13_gw)C++17
40 / 40
290 ms17612 KiB
#include <bits/stdc++.h> using namespace std; void Solve() { int n; cin >> n; vector<pair<int, int> > a(n + 1); vector<bool> isTaken(n + 3); for(int i = 1; i <= n; i++) { cin >> a[i].first; isTaken[i] = false; a[i].second = i; } sort(a.begin() + 1, a.end()); isTaken[0] = true; isTaken[n + 1] = true; int ans = 0, curr = 0; for(int i = 1; i <= n; i++) { int curVal = a[i].first; for(int j = i; j <= n; j++) { if(a[j].first != curVal) break; i = j; isTaken[a[j].second] = true; if(!isTaken[a[j].second - 1] && !isTaken[a[j].second + 1]) { curr++; } else if(isTaken[a[j].second - 1] && isTaken[a[j].second + 1]) { curr--; } } ans = max(ans, curr); } cout << ans + 1 << "\n"; } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; //cin >> t; while(t--) { Solve(); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...