#include <bits/stdc++.h>
#include <cstdlib>
using namespace std;
void minimumBribes(vector<int> q) {
bool chaos = false;
int bribes = 0;
for (int i = 0; i<q.size()-1; i++){
if(q[i]-i-1 >= 3 ){
chaos = true;
break;
}
if( (std::abs(q.size()-i - q[q.size()-i-1] )) > 2) continue;
bribes+= std::abs(q.size()-i - q[q.size()-i-1] );
}
if (chaos){
cout<<"Too chaotic"<<endl;
}else{
cout<<bribes<<endl;
}
}
Using C++14, why is it giving me an error "Call to 'abs' is ambiguous"? The input let's say is a vector of integers 1,2,3,5,4. So in the first cycle, it would be abs( 5 - 4 ) and i expect it to be 1,