Cod sursa(job #417465)

Utilizator drywaterLazar Vlad drywater Data 14 martie 2010 13:53:34
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
int n,w,a[1001],b[1001],i,j,au;
long long s,k,p;
FILE *f=fopen("energii.in","r"),*g=fopen("energii.out","w");
int main(void)
{
	fscanf(f,"%d%d",&n,&w);
	for (i=1;i<=n;i++)
	{	fscanf(f,"%d%d",&a[i],&b[i]); s=s+a[i];}
	if (s>=w)
	{
	for (i=1;i<n;i++)
		for (j=i+1;j<=n;j++)
		{
			k=a[i]*b[j];
			p=a[j]*b[i];
			if (k<p) 
				{
				au=a[i];
				a[i]=a[j];
				a[j]=au;
				au=b[i];
				b[i]=b[j];
				b[j]=au;
				}
		}
	i=1;
	s=0;
	while (w>0)
	{
		w=w-a[i];
		s=s+b[i];
		i++;
	}
	fprintf(g,"%lld",s);
	}
	else fprintf(g,"-1");
	fclose(g);
	return 0;
}