[HNOI2002]营业额统计

来源:互联网 发布:mac 如何恢复苹果系统 编辑:程序博客网 时间:2024/05/29 16:06

[HNOI2002]营业额统计

stl::set

题解:

就是一边插入一边找前驱和后继。
直接set就行了。

Code:

#include <iostream>#include <cstdio>#include <cstring>#include <set>using namespace std;const int INF = 0x3f3f3f3f;set<int> s;set<int>::iterator p;int main(){    int ans=0,n,x,a;    cin>>n;     cin>>a; s.insert(a); ans+=a;    for(int i=2;i<=n;i++){        x=INF; cin>>a;        p=s.lower_bound(a);        if(p!=s.end()){ x=min(x,*p-a); }        if(p!=s.begin()){ x=min(x,a-(*--p)); }        ans+=x; s.insert(a);    }    cout<<ans<<endl;}
原创粉丝点击