比赛 20140414 评测结果 AWWWWWWWWW
题目名称 登机 最终得分 10
用户昵称 Suke 运行时间 0.845 s
代码语言 C++ 内存使用 3.37 MiB
提交时间 2014-04-14 11:23:09
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<set>
using namespace std;
set<int> s;
long long maxload[400010];
int n,order,dis;
long long ans,mini,pre,unload;
int main(){
	freopen("boarding.in","r",stdin);
	freopen("boarding.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;++i){
		scanf("%d%lld",&order,&unload);
		dis=n-i+order;
		if (!s.count(dis)) s.insert(dis);
		if (unload>maxload[dis]) maxload[dis]=unload;
	}
    while(!s.empty()){
        mini=*s.begin();
        ans+=mini-pre;
        pre+=mini;
        ans+=maxload[mini];
        s.erase(mini);
    }
    cout<<ans<<endl;
}