Pagini recente » Cod sursa (job #1150667) | Rating Aizic Albert (albertaizic) | Cod sursa (job #3253737) | Cod sursa (job #1583124) | Cod sursa (job #3252852)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
struct oaie
{
long long lana, dist;
}v[100005];
bool comp(oaie a, oaie b)
{
if(a.dist > b.dist)
{
return 0;
}
if(a.dist < b.dist)
{
return 1;
}
if(a.dist == b.dist)
{
if(a.lana >= b.lana)
{
return 1;
}
return 0;
}
}
int main()
{
long long suma = 0;
int n, i, dist_max, dist_fug;
in >> n >> dist_max >> dist_fug;
for(i = 1; i <= n; i++)
{
in >> v[i].dist >> v[i].lana;
v[i].dist /= dist_fug;
}
sort(v + 1, v + 1 + n, comp);
for(i = 1; i <= n; i++)
{
if(v[i].dist * dist_fug > dist_max)
{
break;
}
suma += v[i].lana;
while(v[i].dist == v[i+1].dist)
{
i++;
}
}
out << suma;
return 0;
}