fork download
  1. // author : www.codechef.com/users/rajat4064
  2.  
  3. #include<stdio.h>
  4. #include<math.h>
  5. int main(){
  6. int t;
  7. scanf("%d",&t);
  8. while(t--){
  9. long long int n,i,d;
  10. scanf("%lli%lli",&n,&d);
  11. long long int a[n];
  12. long long int sum=0,avg=0;
  13. for(i=0;i<n;i++){
  14. scanf("%lli",&a[i]);
  15. sum+=a[i];
  16. }
  17. if(sum%n!=0){
  18. printf("-1\n");
  19. continue;
  20. }
  21. avg=sum/n;
  22. long long int moves1=0;
  23. for(i=0;i<n-d;i++){
  24. if(a[i]!=avg){
  25. long long int x=a[i]-avg;
  26. a[i]=avg;
  27. a[i+d]+=x;
  28. moves1+=abs(x);
  29. printf("x=%lld abs(x)=%lld llabs(x)=%lld\n", x, abs(x), llabs(x));
  30. }
  31. }
  32. int f=0;
  33. for(i=0;i<n;i++){
  34. if(a[i]!=avg){
  35. f++;
  36. break;
  37. }
  38. }
  39. if(f!=0){
  40. printf("-1\n");
  41. continue;
  42. }
  43. else{
  44. printf("%lli\n",moves1);
  45. }
  46. }
  47. return 0;
  48. }
Success #stdin #stdout 0s 9416KB
stdin
1
20 2
1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2 1000000000 2
stdout
x=499999999 abs(x)=499999999 llabs(x)=499999999
x=-499999999 abs(x)=499999999 llabs(x)=499999999
x=999999998 abs(x)=999999998 llabs(x)=999999998
x=-999999998 abs(x)=999999998 llabs(x)=999999998
x=1499999997 abs(x)=1499999997 llabs(x)=1499999997
x=-1499999997 abs(x)=1499999997 llabs(x)=1499999997
x=1999999996 abs(x)=1999999996 llabs(x)=1999999996
x=-1999999996 abs(x)=1999999996 llabs(x)=1999999996
x=2499999995 abs(x)=1794967301 llabs(x)=2499999995
x=-2499999995 abs(x)=1794967301 llabs(x)=2499999995
x=2999999994 abs(x)=1294967302 llabs(x)=2999999994
x=-2999999994 abs(x)=1294967302 llabs(x)=2999999994
x=3499999993 abs(x)=794967303 llabs(x)=3499999993
x=-3499999993 abs(x)=794967303 llabs(x)=3499999993
x=3999999992 abs(x)=294967304 llabs(x)=3999999992
x=-3999999992 abs(x)=294967304 llabs(x)=3999999992
x=4499999991 abs(x)=205032695 llabs(x)=4499999991
x=-4499999991 abs(x)=205032695 llabs(x)=4499999991
-1