Cod sursa(job #689234)

Utilizator hancnaumHanc Naum Flavius hancnaum Data 24 februarie 2012 11:26:58
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<cstdio>
#include<algorithm>
using namespace std;
const int inf = 1000000000;
int i,j,n,p[10001],e[10001],c[10001];
int g,w,ans = inf,maxim;
int main()
{

freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d",&g,&w);
for(i=1;i<=g;++i) 
	scanf("%d%d",&e[i],&c[i]);
for(i=1;i<=g;i++)
	maxim=max(maxim,e[i]);
maxim=max(maxim,w);
for (i=1;i<=maxim;++i)
	p[i]=inf;
for(i=1;i<=g;i++)
	for(j=maxim;j>=0;j--)	
		if(p[j]!=inf&&j+e[i]<=maxim)
			p[j+e[i]]=min(p[j+e[i]],p[j]+c[i]);
for(i=w;i<= maxim;++i) 
	ans=min(ans,p[i]);
printf("%d\n",ans);
return 0;
}