Cod sursa(job #159592)

Utilizator rala03Ana Roxana Pop rala03 Data 14 martie 2008 11:34:26
Problema Energii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
int main ()
{
	long int i,n,j,e,es,c,max=0;
	long int a[10001],b[10001];
	long int x[20002];
	long int y[20002];
	freopen ("energii.in","r",stdin);
	freopen ("energii.out","w",stdout);
	scanf ("%ld%ld",&n,&e);
	for (i=1;i<=n;i++)
		scanf ("%ld%ld",&a[i],&b[i]);
	for (i=1;i<=n;i++)
	{
		x[i]=a[i];
		y[i]=b[i];
	}
	for (i=n+1;i<=2*n;i++)
	{
		y[i]=y[i-n];
		x[i]=x[i-n];
	}
	for (i=1;i<=n;i++)
		max+=b[i];
	for (j=0;j<=n-1;j++)
	{
		es=0;
		c=0;
		for (i=1+j;i<=n+j;i++)
		{
			if (c+y[i]<=max)
			{
				es+=x[i];
				c+=y[i];
			}
			if (es>=e)
			{
				if (c<max)
					max=c;
				i=n+j;
			}
		}
	}
	printf ("%ld",max);
	return 0;
}