Submission #1201409

#TimeUsernameProblemLanguageResultExecution timeMemory
1201409_rain_Rainy Markets (CCO22_day1problem2)C++20
25 / 25
585 ms100124 KiB
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=(int)1e6; #define move asdasdsa LL b[N+2],p[N+2],u[N+2],bb[N+2]={},pp[N+2]={}; LL move[N+2]={},stay[N+2]={},buy[N+2]={},pre[N+2]={}; LL n,ans=0; int main(){ ios::sync_with_stdio(false); cin.tie(0) ; cout.tie(0); if (fopen("main.inp","r")){ freopen("main.inp","r",stdin); // freopen("main.out","w",stdout); } cin>>n; for(int i=1;i<=n;++i) cin>>b[i]; for(int i=1;i<n;++i) cin>>p[i]; for(int i=1;i<n;++i) cin>>u[i]; for(int i=1;i<=n;++i) bb[i]=b[i]; for(int i=1;i<=n;++i) move[i]=stay[i]=buy[i]=0; for(int i=1;i<n;++i){ pp[i]=p[i]-u[i]; int tmp=min(pp[i],bb[i]); pp[i]-=tmp,bb[i]-=tmp; if (pp[i]>bb[i+1]){ cout<<"NO\n"; return 0; } bb[i+1]-=pp[i]; } vector<int>stk; for(int i=1;i<n;++i){ pp[i]=p[i]; int x=min(pp[i],b[i]); pp[i]-=x,b[i]-=x; stk.push_back(i); stay[i]=x; while (stk.size() && pp[i]>b[i+1]){ int last=stk.back(); int addmore=min(pp[i]-b[i+1],u[last]); u[last]-=addmore,pp[i]-=addmore; buy[last]+=addmore; pre[last+1]+=addmore,pre[i+1]-=addmore; ans+=addmore; if (u[last]==0) stk.pop_back(); } if (pp[i]>b[i+1]){ cout<<"NO\n"; return 0; } b[i+1]-=pp[i]; u[i]=min(u[i],pp[i]); } cout<<"YES\n"; cout<<ans<<'\n'; for(int i=1;i<n;++i){ pre[i]+=pre[i-1]; stay[i]+=pre[i]; cout<<stay[i]<<' '<<buy[i]<<' '<<p[i]-stay[i]-buy[i]<<'\n'; } }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:15:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |                 freopen("main.inp","r",stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...