Help me solve MAKEALLEQUAL problem

My code:
include <bits/stdc++.h>
using namespace std;

int main() {
int t;
cin>>t;
while(t–){
int n;
double m;
cin>>n>>m;
int a[n];
int sum=0;
int mx=0;
for(int i=0;i<n;i++){
cin>>a[i];
mx=max(mx,a[i]);
}
for(int i=0;i<n;i++){
if(a[i]<mx)
sum+=(mx-a[i]);
}
sort(a,a+n);
double min=a[0];
cout<<max(mx-min,ceil(sum/m))<<endl;
}
return 0;
}

PLS tell me the logic i am missing

problem link: Make All Equal Practice Coding Problem - CodeChef