include
using namespace std;
int main() {
int t;
cin >> t;
while(t>0){
int n,k,v;
cin >>n >>k >>v;
int arr[n],sum=0;
for(int i=0;i<n;i++){
cin >> arr[i];
sum += arr[i];
}
float a = (float)(v*(n+k) - sum)/k;
if( a == int(a) && a > 0) {
cout << a << endl;
}else{
cout << -1 << endl;
}
t–;
}
}
@ankush86
U are getting integer overflow issue.
I have fixed it in your code .
#include<bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while(t>0){
long long int n,k,v;
cin >>n >>k >>v;
long long int arr[n],sum=0;
for(int i=0;i<n;i++){
cin >> arr[i];
sum += arr[i];
}
long long int a=(v*(n+k))-sum;
if(a%k==0&&a>0) {
cout << a/k << endl;
}else{
cout << -1 << endl;
}
t--;
}
}
1 Like
Well, there are some logical error with your code, here is the correct code that you can try, it may resolve your problem.
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
while (t > 0) {
int n, k, v;
cin >> n >> k >> v;
int arr[n], sum = 0;
for (int i = 0; i < n; i++) {
cin >> arr[i];
sum += arr[i];
}
float a = (float)(v * (n + k) - sum) / k;
if (a == int(a) && a > 0) {
cout << a << endl;
} else {
cout << -1 << endl;
}
t--; // Corrected decrement
}
return 0;
}
Thanks