SAMPLE INPUT
3
2 2 2
1 1
5 1 4
1 2 3 4 5
4 10 3
1 2 3 4
SAMPLE OUTPUT
1
0
15
前缀和,每个元素都判断一下。
#include <iostream> #include <cstdio> #include <cstring> #include <queue> #include <cmath> #include <map> #include <set> #include <vector> #include <algorithm> using namespace std; #define lowbit(x) (x&(-x)) #define max(x,y) (x>y?x:y) #define min(x,y) (x<y?x:y) #define MAX 100000000000000000 #define MOD 1000000007 #define pi acos(-1.0) #define ei exp(1) #define PI 3.141592653589793238462 #define INF 0x3f3f3f3f3f #define mem(a) (memset(a,0,sizeof(a))) typedef long long ll; int n,m,k,t,i; int a[100006]; ll ans,pos; int main() { scanf("%d",&t); while(t--) { scanf("%d%d%d",&n,&m,&k); for(i=0;i<n;i++) scanf("%d",&a[i]); pos=0; for(i=0;i<n;i++) { if(a[i]<m) { ans=m-a[i]; pos+=ans; for(int j=i;j<i+k;j++) { a[j%n]+=ans; } } } printf("%lld ",pos); } return 0; }