Cod sursa(job #682719)

Utilizator hancnaumHanc Naum Flavius hancnaum Data 19 februarie 2012 14:05:55
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 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)
if ( p[j + e[i]] > p[j] + c[i] )
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;
}