Cod sursa(job #824899)

Utilizator mlupseLupse-Turpan Mircea mlupse Data 27 noiembrie 2012 09:19:07
Problema Lupul Urias si Rau Scor 8
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
//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();
}