Cod sursa(job #2013660)

Utilizator dumitrescu_andreiDumitrescu Andrei dumitrescu_andrei Data 21 august 2017 23:36:55
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");

const int INF = 2000001;

int nr[1000011],a[1001],b[1001],w,Gmax,sum,minim;

int main()
{
    f>>w>>Gmax;

    for(int i=1;i<=w;++i)
        {f>>a[i]>>b[i];
        sum+=a[i];
        }

    for(int i=1;i<=sum;++i)
        nr[i]=INF;

    nr[0]=1;


    for(int i=1;i<=w;++i)
    {

        for(int j=Gmax;j>=0;--j)
            if(nr[j]!=INF && j+a[i]<=sum)
              nr[j+a[i]]=min(nr[j+a[i]],nr[j]+b[i]);
    }

    minim=nr[Gmax];
    for(int i=Gmax+1;i<=sum;++i)
        minim=min(minim,nr[i]);

    if(minim==INF)
        g<<-1;
    else
        g<<minim-1;

    return 0;




}