Pagini recente » Cod sursa (job #2276456) | Cod sursa (job #2021277) | Cod sursa (job #2011903) | Cod sursa (job #889405) | Cod sursa (job #1505669)
#include<fstream>
#include<iostream>
#include<vector>
#include<set>
#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;
multiset <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.insert(c[p].y);
p++;
}
if(! heap.empty())
{
x=*(--heap.end());
sol=sol+x;
//heap.erase(x);
heap.erase(heap.find(x));
}
}
fout<<"\n";
multiset<int>::iterator it;
for(it=heap.begin();it!=heap.end();it++)
{
fout<<*it<<" ";
}
//fout<<"\n";
for(i=1;i<=n;i++)
{
//fout<<c[i].x<<" "<<c[i].y<<"\n";
}
//fout<<sol<<"\n";
}