Cod sursa(job #2000706)

Utilizator cyg_LucaFlorinTanasescu Luca Florin cyg_LucaFlorin Data 14 iulie 2017 14:40:17
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>

using namespace std;

int d[100005];

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int G,W,g,w,last,i,j,cmin;
    scanf("%d",&G);
    scanf("%d",&W);
    last=0;
    for(i=1;i<=G;i++)
    {
        scanf("%d%d",&g,&w);
        for(j=last;j>=0;j--)
        {
            if(d[j+g]<d[j]+w)
                d[j+g]=d[j]+w;
            if(j+g>last)
                last=j+g;
        }
    }
    cmin=d[last];
    if(last<W)
        printf("-1");
    else
    {
        for(j=last;j>=W;j--)
            if(cmin>d[j]&&d[j]>0)
                cmin=d[j];
        printf("%d",cmin);

    }
    return 0;
}