Submission #1163152

#TimeUsernameProblemLanguageResultExecution timeMemory
1163152WH8Rainy Markets (CCO22_day1problem2)C++20
0 / 25
553 ms47408 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; vector<int> sc(n,0), p(n-1,0), op(n-1,0), uc(n-1, 0), sp(n, 0), 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...