Submission #1163158

#TimeUsernameProblemLanguageResultExecution timeMemory
1163158WH8Rainy Markets (CCO22_day1problem2)C++20
Compilation error
0 ms0 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;
		}
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 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;
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 0);
	}
	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]);
		#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;
		}
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 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;
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 0);
	}
	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]);
		#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;
		}
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 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;
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 0);
	}
	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]);
		
		assert(sp[i] >= 0 && sp[i+1] >= 0 && up[i] >= 0);

	}
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:70:12: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
   70 | signed main(){
      |            ^~
Main.cpp:70:12: note: remove parentheses to default-initialize a variable
   70 | signed main(){
      |            ^~
      |            --
Main.cpp:70:12: note: or replace parentheses with braces to value-initialize a variable
Main.cpp:70:14: error: a function-definition is not allowed here before '{' token
   70 | signed main(){
      |              ^
Main.cpp:173:2: error: expected '}' at end of input
  173 | }
      |  ^
Main.cpp:54:31: note: to match this '{'
   54 |         for(int i=0;i<n-1;i++){
      |                               ^
Main.cpp:173:2: error: expected '}' at end of input
  173 | }
      |  ^
Main.cpp:14:14: note: to match this '{'
   14 | signed main(){
      |              ^