D:

D:


#include <bits/stdc++.h>

#include <cmath>

using namespace std;


//Main

int main(){

//Testcases 

int t;

cin>>t;

//cout<<"testcases= "<<t<<endl;


while(t--){

bool sw=true;

int sum=0;

int res=0;

//Tamaño arreglo

long n;

cin>>n;

//cout<<"tamaño arreglo = "<<n<<endl;

//Tamaño mover

int d;

cin>>d;

//cout<<"mover size= "<<d<<endl;

//Arreglo números

long a[n+1];

//Leer, guardar y sumar elementos

for(int i=1;i<n+1;i++){

cin>>a[i];

sum=sum+a[i];

}

//cout<<"array"<<endl;

for(int i=1;i<n+1;i++){

//cout<<i<<" = "<<a[i]<<endl;

}

//Tiene solucion?

if(sum%n!=0){

sw=false;

}

//Prueba

for(int i=1;i<n;i++){

if(a[n]!=a[n+1]){

// sw=false;

}

}

if(sw==true){

//cout<<"entramos al proceso"<<endl;

int meta=sum/n;

int p = 1;

int q=d+p;

for(int p=1;p<=n-q;p++){


cout<<p<<" = "<<a[p]<<endl;

if(a[p]>meta){

long resta = a[p]-meta;

res += abs(resta);

// cout<<"res"<<res<<endl;

a[p] -= resta;

a[q] += resta;

}else{

// cout<<"res"<<res<<endl;

long resta2 = meta-a[p];

res += abs(resta2);

a[p] += resta2;

a[q] -= resta2;

}

q++;

}

for(int i=1;i<n+1;i++){

  cout<<i<<" = " << a[i]<<endl;

}


for(int i=1;i<n+1;i++){

if(a[i]!=meta){

res=-1;

cout<<"houstom we've a problem"<<endl;

}

}

cout<<res<<endl;

}else{

cout<<-1<<endl;

}

}

}

Report Page