Cod sursa(job #2223663)

Utilizator cyg_CiuntuSorinCiuntu Sorin Andrei cyg_CiuntuSorin Data 20 iulie 2018 21:53:26
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>

using namespace std;
int i,j,g,w,d[5005],ok,e,c;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    ok=d[0]=0;
    scanf("%d%d",&g,&w);
    for(i=1;i<=w;i++)
        d[i]=2100000000;
    for(i=1;i<=g;i++)
    {
        scanf("%d%d",&e,&c);
        for(j=w;j>=0;j--)
            if(d[j]!=-1)
            {
                if(j+e<w && d[j]+c < d[j+e])
                    d[j+e]=d[j]+c;
                if(j+e>=w && d[j]+c < d[w])
                    d[w]=d[j]+c;
            }
    }
    if(d[w]==2100000000)
        printf("-1");
    else
        printf("%d\n",d[w]);
    return 0;
}