玄关 第10个点一直寄
查看原帖
玄关 第10个点一直寄
524910
DfsIJK_Juruo楼主2024/9/21 23:54
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=200005;
int l[N],r[N],res[N];
int main(){
	int n,sum=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>l[i]>>r[i];
		sum+=l[i];
		res[i]=l[i];
	}
	if(sum>0) cout<<"No";
	else{
		cout<<"Yes"<<'\n';
		sum=abs(sum);
		for(int i=1;i<=n;i++){
			if(sum>=r[i]-l[i]){
				res[i]=r[i]; 
				sum-=r[i]-l[i];
			}else{
				res[i]=l[i]+sum;
				break;
			}
		}
		for(int i=1;i<=n;i++) cout<<res[i]<<' ';
	}
	return 0;
}
2024/9/21 23:54
加载中...