Cod sursa(job #1253041)

Utilizator nicolaegutaNicolae Guta nicolaeguta Data 31 octombrie 2014 18:54:44
Problema Energii Scor 100
Compilator cpp Status done
Runda preoji_cl11_12_lspvs Marime 0.6 kb
#include <cstdio>
#include <algorithm>
#define Nmax 1005
#define Wmax 5005
#define INF 2000000000

using namespace std;

int dp[Nmax][Wmax],G[Nmax],C[Nmax];

int main()
{
    int i,j,N,W;
    freopen ("energii.in","r",stdin);
    freopen ("energii.out","w",stdout);
    scanf("%d%d", &N,&W);
    for(i=1;i<=N;++i)
        scanf("%d%d", &G[i],&C[i]);
    for(i=1;i<=W;++i) dp[0][i]=INF;
    for(i=1;i<=N;++i)
        for(j=0;j<=W;++j)
            dp[i][j]=min(dp[i-1][j],dp[i-1][max(0,j-G[i])]+C[i]);
    if(dp[N][W]==INF) printf("-1\n");
    else printf("%d\n", dp[N][W]);
    return 0;
}