Pagini recente » Cod sursa (job #542699) | Cod sursa (job #1220734) | Cod sursa (job #1902234) | Cod sursa (job #277762) | Cod sursa (job #1505674)
#include<fstream>
#include<iostream>
#include<vector>
#include<set>
#include<queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int l,n,m,k,i,j,p,x,y,a[100005],t,a1,a2;
long long int sol;
priority_queue <int> heap;
struct coada
{
int x,y;
}c[100009];
bool cmp(coada i,coada j)
{
return i.x>j.x;
}
int main()
{
fin>>n>>x>>l;
for(i=1;i<=n;i++)
{
fin>>a1>>a2;
c[i].y=a2;
c[i].x=((x-a1))/2+1;
// fout<<a1<<" "<<a2<<"\n";
}
sort(c+1,c+n+1,cmp);
k=c[1].x;
p=1;
for(i=k;i>=1;i--)
{
//fout<<i<<" ";
while(c[p].x >= i)
{
heap.push(c[p].y);
p++;
}
if(! heap.empty())
{
x=heap.top();
sol=sol+x;
//heap.erase(x);
heap.pop();
}
}
// fout<<"\n";
for(i=1;i<=n;i++)
{
//fout<<c[i].x<<" "<<c[i].y<<"\n";
}
fout<<sol<<"\n";
}