Pagini recente » Cod sursa (job #765097) | Cod sursa (job #2787657) | Cod sursa (job #576124) | Cod sursa (job #1481190) | Cod sursa (job #824899)
Cod sursa(job #824899)
//www.infoarena.ro/problema/lupu
using namespace std;
#include <iostream>
#include <fstream>
ofstream fout("lupu.out");
int n, dmax, ddep, suma=0, dist=0,maxim;
struct oitza
{
int d, l;
}o[20];
void citire()
{
int i;
ifstream fin("lupu.in");
fin>>n>>dmax>>ddep;
for(i=1;i<=n;i++)
fin>>o[i].d>>o[i].l;
maxim=0;
for(i=1;i<=n;i++)
{
o[i].d=(dmax-o[i].d)/ddep+1;
if(o[i].d>maxim)
maxim=o[i].d;
}
}
void sort()
{
int i, j;
oitza aux;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(o[i].d<o[j].d)
{
aux=o[i];
o[i]=o[j];
o[j]=aux;
}
}
void greedy()
{
int i,p,j,maxx;
for(i=maxim;i>=1;i--)
{
maxx=0;p=0;
for(j=1;o[j].d>=i;j++)
if(o[j].l>maxx)
{
maxx=o[j].l;
p=j;
}
suma=suma+maxx;o[p].l=0;
}
fout<<suma<<endl;
}
int main()
{
citire();
sort();
greedy();
}