Cod sursa(job #878294)

Utilizator TodeaDariustodea darius TodeaDarius Data 14 februarie 2013 12:06:19
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
using namespace std;
int g,w,e,c,v[3][5005];
#define nrmare 1900000000
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);
	for(int i=1;i<=w;i++)
		v[0][i]=nrmare;
	for(int i=1;i<=g;i++)
	{
		scanf("%d%d",&e,&c);
		for(int j=1;j<=w;j++)
		{
			if(j<=e)
			{
				v[i%2][j]=c;
				if(v[i%2][j]>v[(i-1)%2][j])
					v[i%2][j]=v[(i-1)%2][j];
			}
			else
			{
				v[i%2][j]=v[(i-1)%2][j];
				if(v[i%2][j]>v[(i-1)%2][j-e]+c)
					v[i%2][j]=v[(i-1)%2][j-e]+c;
			}
		}
	}
	printf("%d",v[g%2][w]);
	return 0;
}