Cod sursa(job #2341646)

Utilizator albucristianAlbu Cristian-Gabriel albucristian Data 12 februarie 2019 08:20:18
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>
using namespace std;
int ma[1005][5005];
struct punct
{
    int e,c;
}v[1005];
int main()
{
    int g,w,i,j,sol;
    int s,c;
    ifstream in("energii.in");
    ofstream out("energii.out");
    in>>g>>w;
    s=c=0;
    for(i=1;i<=g;i++)
    {
        in>>v[i].e>>v[i].c;
    }
    for(i=0;i<=w;i++)
    {
        ma[0][i]=20000;
    }
    for(i=1;i<=g;i++)
    {
        for(j=1;j<=w;j++)
        {
            if(v[i].e<=j)
            {
                ma[i][j]=min(ma[i-1][j-v[i].e]+v[i].c,ma[i-1][j]);
            }
            else
            {
                ma[i][j]=min(ma[i-1][j],v[i].c);
            }
        }
    }
    if(ma[g][w]==20000)
        out<<-1;
    else
        out<<ma[g][w];
    return 0;
}