Cod sursa(job #1820173)

Utilizator Garen456Paun Tudor Garen456 Data 1 decembrie 2016 12:37:07
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct gen{int e,c;};
gen b[1001];
int a[5001];

int main()
{   int i,j,mini=-1,n,w;
     a[0]=0;
    fin>>n>>w;
    for(i=1;i<=w-1;i++) a[i]=-1;
    for(i=1;i<=n;i++)
    {   fin>>b[i].e>>b[i].c;
        for(j=w-1;j>=0;j--)
            if(a[j]!=-1)
               if(j+b[i].e>=w)
                    if(mini==-1) mini=a[j]+b[i].c;
                        else mini=min(mini,a[j]+b[i].c);
                else if(a[j+b[i].e]==-1 || a[j+b[i].e]>a[j]+b[i].c)
                        a[j+b[i].e]=a[j]+b[i].c;
    }
        fout<<mini;
    return 0;
}