Pagini recente » Cod sursa (job #504005) | Cod sursa (job #2934047) | Cod sursa (job #2736360) | Cod sursa (job #1007226) | 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;
}