题目:
分析:看完题,不知道怎么搜素。
只想到了排序。
看了题解,set还能这样用啊》。。
stl中的集合有内置的:lowerbounder
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
//1000000
set<int> s;
s.insert(-5000005);
s.insert(5000005);
int m;
cin>>m;
int c;
cin>>c;
s.insert(c);
long long sum=c;
for(int i=1;i<m;i++)
{
cin>>c;
set<int>::iterator k=s.lower_bound(c);
set<int>::iterator k2=k;
k2--;
sum+=min(abs(*k2-c),abs(*k-c));
s.insert(c);
}
cout<<sum;
}