题解 CF534C 【Polycarpus' Dice】

看代码:
#include<bits/stdc++.h>//万能头文件
using namespace std;
int main() 
{
	long long n,d[200005],a,ans=0;//定义,记得开long long
    
	cin>>n>>a;
	for(long long i=1;i<=n;i++)
	{
		cin>>d[i];
		ans+=d[i];//算和
	}//读入
    
	for(long long i=1;i<=n;i++)
	{
		long long hhh=min(a-n+1,d[i]);//最大的
		long long zzz=0;
		if(a+d[i]-ans-1>0)
			zzz=a+d[i]-ans-1;//最小的
        //abs(zzz-hhh)就是可行的情况
		cout<<d[i]-abs(zzz-hhh)<<" ";//输出
	}
	cout<<endl;//输出换行
    return 0;//完美结束
}
//最后感谢我们的hello_world2005给我们的参考

By 你们最可爱的czy

qaqaq
原文地址:https://www.cnblogs.com/zdsrs060330/p/13095048.html