Cod sursa(job #590662)

Utilizator AnteusPatrascoiu Mihai Anteus Data 19 mai 2011 10:50:33
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream.h>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie { int d,c;	}	v[100001];
int n,X,L,T,val,poz,i;
long long sol;

void citire() {
int i;
fin>>n>>X>>L;
for (i=1;i<=n;i++)
{
	fin>>v[i].d>>v[i].c;
	v[i].d=(X-v[i].d)/L;
}
}

int cmp (oaie a, oaie b)
{
	return (a.d<b.d);
}

int cmp2 (oaie a, oaie b)
{
	return (a.c>b.c);
}

int main() {
citire();
sort(v+1, v+n+1, cmp);

val=v[1].d;		poz=1;
for (i=2;i<=n;i++)
{
	if (val!=v[i].d)
	{
		sort (v+poz, v+i, cmp2);
		val=v[i].d;		poz=i;
	}
}

for (i=1;i<=n;i++)
{
	if (v[i].d>=T)
	{
		sol+=v[i].c;
		T++;
	}
}

fout<<sol;
return 0;
}