Pagini recente » Cod sursa (job #3003643) | Cod sursa (job #446670) | Istoria paginii runda/123235125 | Cod sursa (job #409833) | Cod sursa (job #1856804)
#include <fstream>
#include <set>
#include <algorithm>
struct a
{
int distanta,lana;
}
v[200005];
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n,dmax,dist,Tmax,t[200005],s;
int main()
{
multiset <int> my_set;
fin>>n>>dmax>>dist;
for(int i=1;i<=n;++i)
fin>>v[i].distanta>>v[i].lana;
for(int i=1;i<=n;++i)
{
t[i]=(dmax-v[i].distanta)/dist+1;
if(t[i]>Tmax)
Tmax=t[i];
}
for(int i=1;i<=Tmax;++i)
{
for(int j=1;j<=n;++j)
{
if(t[j]==i)
{int k=v[j].lana;
my_set.insert(k);}
}
if(!my_set.empty())
{multiset <int> :: iterator it=my_set.end();
--it;
s+=*it;
my_set.clear();}
}
fout<<s;
return 0;
}