Pagini recente » Cod sursa (job #1238420) | Cod sursa (job #578042) | Cod sursa (job #2198638) | Cod sursa (job #2174152) | Cod sursa (job #2401290)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie
{
int dist, lana;
bool operator<(oaie rhs) const
{
return lana>rhs.lana;
}
} p[100002];
bool comp_d(oaie s, oaie dr)
{
return s.dist>dr.dist;
}
priority_queue<oaie> q;
long long N, X, L, ans, dmax;
int main()
{
fin>>N>>X>>L;
for (int i=1; i<=N; i++)
{
fin>>p[i].dist;
fin>>p[i].lana;
if (p[i].dist>dmax)
dmax = p[i].dist;
}
sort(p+1,p+N+1, comp_d);
long long pos = 1;
for (long long d=dmax; d>=1; d--)
{
while (pos<=N && p[pos].dist<=d)
{
q.push(p[pos]);
pos++;
}
if (!q.empty())
{
///fout<<"am pus "<<q.top().lana<<endl;
ans+=q.top().lana;
q.pop();
}
}
fout<<ans;
}