Submission #1163142

#TimeUsernameProblemLanguageResultExecution timeMemory
1163142WH8Rainy Markets (CCO22_day1problem2)C++20
0 / 25
564 ms47380 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define pb push_back #define int long long #define f first #define s second #define pll pair<long long, long long> signed main(){ int n;cin>>n; int sc[n], p[n-1], op[n-1],uc[n-1]; vector<int> sp(n, 0); vector<int> up(n-1, 0); for(int i=0;i<n;i++)cin>>sc[i]; for(int i=0;i<n-1;i++){ cin>>p[i]; op[i]=p[i]; } for(int i=0;i<n-1;i++)cin>>uc[i]; for(int i=0;i<n-1;i++){ int l=min(sc[i]-sp[i],p[i]); sp[i]+=l; p[i]-=l; int m=min(uc[i]-up[i],p[i]); up[i]+=m; p[i]-=m; int r=min(sc[i+1]-sp[i+1],p[i]); sp[i+1]+=r; p[i]-=r; if(p[i]>0){ cout<<"NO"; return 0; } } for(int i=n-2;i>=0;i--){ int m=min(sc[i+1]-sp[i+1], up[i]); sp[i+1]+=m; up[i]-=m; int l=min(sc[i+1]-sp[i+1], sp[i]); sp[i+1]+=l; sp[i]-=l; } int ans=0; for(int i=0;i<n-1;i++){ ans+=up[i]; } cout<<"YES\n"; cout<<ans<<endl; for(int i=0;i<n-1;i++){ cout<<sp[i]<<" "<<up[i]<<" "<<op[i]-(up[i]+sp[i])<<endl; sp[i+1]-=op[i]-(up[i]+sp[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...