Submission #1174375

#TimeUsernameProblemLanguageResultExecution timeMemory
1174375ezzzay지구 온난화 (NOI13_gw)C++20
19 / 40
845 ms59880 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back const int N=1e6+5; int a[N]; bool vis[N]; set<int>st; vector< pair<int,int>>v; signed main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; v.pb({a[i],i}); st.insert(a[i]); } int ans=0; sort(v.begin(),v.end()); int k=0; while(*prev(st.end())){ while(v.size() and *prev(st.end()) <=v.back().ff){ if(vis[v.back().ss+1] and vis[v.back().ss-1]){ k--; } if(!vis[v.back().ss+1] and !vis[v.back().ss-1]){ k++; } vis[v.back().ss]=1; v.pop_back(); } ans=max(ans,k); if(v.empty())break; st.erase(prev(st.end())); } cout<<ans; }
#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...