暴力0pts求解
查看原帖
暴力0pts求解
786213
TC1234楼主2024/10/24 22:05
#include <bits/stdc++.h>
using namespace std;
long long n,q,W,i;
long long a[3000000],db[3000000];
int main(){
	cin>>n>>q>>W;
	for (i=1;i<=n;i++){
		cin>>a[i];
		db[i]=1;
	}
	for (long long z=1;z<=q;z++){
		long long l,r,d,h=1,c=0;
		i=0;
		cin>>l>>r>>d;
		for (int j=l;j<=r;j++){
			a[j]+=d;
		}
		int w=W;
		while(w>0){
			if (w-a[++i]*db[i]>0){
				c++;
				w-=a[i]*db[i];
				//cout<<a[i]*db[i]<<"-";
				db[i]*=2;
				if (i==n){
					i=0;
				}
			}else{
			    w=-1;
				break;
			} 
		}
		cout<<c<<endl;
		for (long long j=1;j<=n;j++){
			db[j]=1;
		}
	}
	return 0;
}
2024/10/24 22:05
加载中...