Pagini recente » Cod sursa (job #1112699) | Cod sursa (job #1739713) | Cod sursa (job #78124) | Cod sursa (job #1724807) | Cod sursa (job #2861743)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<int> lana;
struct oi
{
int d,lan,m;
bool operator <(const oi &o)
{
return m>o.m;
}
};
oi v[100005];
int main()
{
int n,x,l,a,b,c;
long long sol=0;
fin>>n>>x>>l;
for(int i=1; i<=n; i++)
{
fin>>a>>b;
c=(x-a)/l;
if(c>=0) v[i]= {a,b,c};
}
sort(v+1,v+n+1);
for(int i=1;i<=n;i++)
{
fout<<v[i].d<<' '<<v[i].lan<<' '<<v[i].m<<'\n';
}
int moment=-1;
for(int i=1;i<=n;i++)
{
if(moment!=v[i].m && !lana.empty())
{
sol+=lana.top();
///cout<<lana.top()<<' ';
lana.pop();
moment=v[i].m;
lana.push(v[i].lan);
}
else
{
lana.push(v[i].lan);
moment=v[i].m;
}
}
sol+=lana.top();
fout<<sol;
return 0;
}