i need to find a number in a vector which if we take out doesn't effect the mean, i am replacing every number and finding out mean and coparing but when i try to copute mean after removing number it is always incorrect why?
mean is the original mean of the vector elements... mean1 is the new mean after removing an element but it's computation is wrong every time
#include <iostream>
#include <vector>
#include <numeric>
#include <iterator>
using namespace std;
int main() {
int t;
cin>>t;
while(t--){
int n,i,sum=0,sum1=0;
cin>>n;
vector<int> ser;
for(i=0;i<n;i++){
int temp;
cin>>temp;
ser.push_back(temp);
}
int mean= accumulate(ser.begin(),ser.end(),sum)/n;
vector<int> ser1;
ser1=ser;
bool flag=false;
vector<int>::iterator it;
it = ser1.begin();
for(i=0;i<n;i++){
ser1.erase(it);
int mean1= accumulate(ser1.begin(),ser1.end(),0)/(ser1.size());
if(mean==mean1){
cout<<i;
flag=true;
break;
}
else{
ser1=ser;
continue;
}
}
if(flag==false){
cout<<"Impossible";
}
}
return 0;
}
Aucun commentaire:
Enregistrer un commentaire