Submission #213413

#TimeUsernameProblemLanguageResultExecution timeMemory
213413GioChkhaidzeCandies (JOI18_candies)C++14
0 / 100
8 ms512 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int N=2e5+5; ll n,x,y,nx,pr,pre[N],nex[N]; ll ans,a[N]; set < pair < ll , ll > > st; set < pair < ll , ll > > :: iterator it; main () { cin>>n; for (int i=1; i<=n; i++) { cin>>a[i]; st.insert({a[i],i}); pre[i]=i-1,nex[i]=i+1; } for (int i=1; i<=(n+1)/2; i++) { it=st.end(); --it; x=(*it).first,y=(*it).second; nx=nex[y],pr=pre[y]; st.erase(st.find(*it)); ans+=a[y],a[y]=-a[y]; if (0!=pr) { a[y]+=a[pr]; nex[pre[pr]]=y,pre[y]=pre[pr]; st.erase(st.find({a[pr],pr})); } if (n+1!=nx) { a[y]+=a[nx]; nex[y]=nex[nx],pre[nex[nx]]=y; st.erase(st.find({a[nx],nx})); } st.insert({a[y],y}); cout<<ans<<"\n"; } }

Compilation message (stderr)

candies.cpp:9:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {
       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...