#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
const int N=10001;
int arr[N];
struct node
{
int px,dl;
bool friend operator < (node a,node b)
{
return a.px<b.px;
}
};
int main()
{
priority_queue<node> que;
int num;
while(cin>>num)
{
int max=0;
node temp;
while(num--)
{
cin>>temp.px>>temp.dl;
if(max<temp.dl)
max=temp.dl;
que.push(temp);
}
while(!que.empty())
{
temp=que.top();
que.pop();
for(int i=temp.dl;i>0;i--)
{
if(!arr[i])
{
arr[i]=temp.px;
break;
}
}
}
int sum=0;
for(int i=1;i<=max;i++)
{
sum+=arr[i];
arr[i]=0;
}
cout<<sum<<endl;
}
return 0;
}
zoj1731-Supermarket
最新推荐文章于 2022-01-16 22:02:26 发布