比赛 2026.8.28 评测结果 AATATTTTTT
题目名称 败给了性格恶劣的天才青梅 最终得分 30
用户昵称 dream 运行时间 14.742 s
代码语言 C++ 内存使用 4.03 MiB
提交时间 2026-08-28 12:44:27
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=100005;
int n;
ll k,p;
ll a[N];
ll ans;
void solve1(){
	ll sum=0;
	for(int i=1;i<=n;i++){
		ll now=a[i]+sum;
		ans+=abs(now-k);
		sum+=k-now;
	}
}
ll C(ll n,ll m){
	ll res=1;
	for(ll i=n;i>=n-m+1;i--){
		res*=i;
	}
	for(ll i=1;i<=m;i++) res/=i;
	return res;
}
void solve2(){
	for(int i=1;i<=n;i++){
		ll t;
		if(a[i]>k){
			t=a[i]-k;
			ans+=t;
			for(int j=i;j<=n;j++){
				a[j]-=t*C(i-j+p,p);
			}
		}
		else if(a[i]<k){
			t=k-a[i];
			ans+=t;
			for(int j=i;j<=n;j++){
				a[j]+=t*C(i-j+p,p);
			}			
		}
//		cout<<t<<" ";
	}	
}
int main(){
    freopen("defeat.in","r",stdin);
    freopen("defeat.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>k>>p;
    int f=1;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
    	if(a[i]>1) f=0;
	}
	if(p==0){
		solve1();
	}
	else{
		solve2();
	}
	cout<<ans;
    return 0;
}