Pagini recente » Cod sursa (job #262384) | Cod sursa (job #1266040) | Cod sursa (job #63821) | Cod sursa (job #15596) | Cod sursa (job #1856807)
#include <fstream>
#include <set>
#include <algorithm>
struct a
{
long long distanta,lana;
}
v[200005];
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
long long n,dmax,dist,Tmax,t[200005],s;
int main()
{
multiset <long long> 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 <long long> :: iterator it=my_set.end();
--it;
s+=*it;
my_set.clear();}
}
fout<<s;
return 0;
}