Cod sursa(job #1503723)

Utilizator elevenstrArina Raileanu elevenstr Data 16 octombrie 2015 20:10:22
Problema Energii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
#define INF 20000
int e[1003],c[1003];
int mat[1003][5002];
int main()
{
   int g,w,su=0,i,j;
   in>>g>>w;
   for(i=1;i<=g;i++)
    {in>>e[i]>>c[i]; su+=e[i];}
    if(su<w)out<<-1;
    else{
            for(i=1;i<=g;i++)
            for(j=1;j<=su;j++)
            mat[i][j]=INF;
    for(i=1;i<=e[1];i++)
        mat[1][i]=c[i];
    for(i=2;i<=g;i++)
        for(j=1;j<=su;j++)
        mat[i][j]=min(mat[i-1][j],mat[i-1][j-e[i]]+c[i]);
   out<<mat[g][w];
    }

    return 0;
}