Cod sursa(job #1638053)

Utilizator zertixMaradin Octavian zertix Data 7 martie 2016 20:58:41
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;

int n,g,w[1002],c[1002],dp[1000001],s;
void citire()
{
    scanf("%d%d",&n,&g);
    for (int i=1;i<=n;++i)
        {
            scanf("%d%d",&w[i],&c[i]);
            s+=w[i];
        }
}
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    citire();
    memset(dp,inf,sizeof(dp));
    dp[0]=0;
    for (int i=1;i<=n;++i)
    {
        for (int j=g-w[i];j>=0;--j)
            dp[j+w[i]]=min(dp[j+w[i]],dp[j]+c[i]);
    }
    int sol=inf;
    for (int i=g;i<=s;++i)
        sol=min(sol,dp[i]);
    printf("%d",sol);
    return 0;
}