Cod sursa(job #1515362)

Utilizator refugiatBoni Daniel Stefan refugiat Data 1 noiembrie 2015 15:42:12
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream si("energii.in");
ofstream so("energii.out");
int cost[1005],elec[1005];
int minn[5005];
int main()
{
    int n,w;
    si>>n>>w;
    int i;
    for(i=1;i<=w;++i)
    {
        minn[i]=10051005;
    }
    for(i=0;i<n;++i)
    {
        si>>elec[i]>>cost[i];
    }
    minn[0]=0;
    int e;
    for(i=0;i<n;++i)
    {
        for(e=w-elec[i];e<w;++e)
        {
            minn[w]=min(minn[w],minn[e]+cost[i]);
        }
        for(e=w-1;e>=elec[i];--e)
        {
            minn[e]=min(minn[e],minn[e-elec[i]]+cost[i]);
        }
    }
    if(minn[w]==10051005)
        so<<-1;
    else
        so<<minn[w];
    so<<'\n';
    so.close();
    return 0;
}