为什么插入inf时,样例输出为-2147483641,而插入192608170却能正常输出,代码如下
#include<iostream>
#include<set>
using namespace std;
const int inf=0x7fffffff;
set<int>s;
set<int>::iterator a,k;
int n,x,ans=0;
int main(){
cin>>n;
s.insert(192608170);
s.insert(-192608170);
for(int i=1;i<=n;i++){
cin>>x;
if(s.size()==2){
ans+=x;
s.insert(x);
}
else {
k=s.lower_bound(x);
if(*k!=x){
a=k;
a--;
ans+=min(abs(*k-x),abs(*a-x));
s.insert(x);
}
}
}
cout<<ans;
}