Cod sursa(job #469891)

Utilizator idomiralinIdomir Alin idomiralin Data 9 iulie 2010 15:23:10
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
# include <stdlib.h>
# include <cstdio>

using namespace std;

int G[10005],E[10005],C[10005],n,w,i,j;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    
    scanf("%d",&n);
    scanf("%d",&w);
    for (i = 1; i <= n; i++)
    scanf("%d%d",&E[i],&C[i]);
    
    for (i = 1; i <= w; i++)
    G[i] = 10001;
    
    for (i = 1; i <= n; i++)
    if (G[E[i]] > C[i]) G[E[i]] = C[i];
    
    for (i = 1; i <= w; i++)
        for (j = 1; j <= n; j++)
        if (i > E[j])
        if (G[i - E[j]] + C[j] < G[i])
        G[i] = G[i - E[j]] + C[j];
        
    printf("%d",G[w]);
    
return 0;
}