Cod sursa(job #1099693)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 6 februarie 2014 09:51:53
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;
int d[5001];

int main()
{
    ifstream in("energii.in");
    ofstream out("energii.out");
    int g,w,c,e,costmin=10000000,ok=0,i,j;
    in>>g>>w;
    for(i=1;i<=w;i++) d[i]=-1;
    for(i=1;i<=g;i++)
    {
        in>>e>>c;
        for(j=w-1;j>=0;j--)
        {
            if(d[j]>=0)
            {
                if(j+e>=w)
                {
                    if(d[j]+c<costmin) costmin=d[j]+c;
                    ok=1;
                }
                else if(d[j+e]>d[j]+c || d[j+e]==-1)
                    {
                        d[j+e]=d[j]+c;
                    }
            }
        }
    }
    if(ok==1) out<<costmin;
    else out<<d[w];
    return 0;
}