Submission #41543

#TimeUsernameProblemLanguageResultExecution timeMemory
41543wzyGlobal Warming (NOI13_gw)C++11
0 / 40
630 ms32768 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define F first #define S second int ans = 0; int n; int v[1000005]; vector<pair<int,int> > cut; int mark[1000005]; bool removed[1000005]; int main(){ cin>>n; for(int i = 0 ; i < n;i++){ cin>>v[i]; mark[i] = 0; cut.pb(pair<int,int> ( v[i] , i)); } int maxi = 1; sort(cut.begin() , cut.end()); for(int i = 0 ; i <n ;i ++){ maxi = max(maxi ,ans); int u = cut[i].second; removed[u] = true; if(mark[u]) ans--; if(u){ mark[u-1]++; if(mark[u-1] == 1 && !removed[u-1]) ans++; } if(u < n - 1){ mark[u+1]++; if(mark[u+1] == 1 && !removed[u+1]){ ans++; } } maxi = max(maxi ,ans); } cout<<maxi<<endl; }
#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...