Cod sursa(job #2289683)

Utilizator FrostfireMagirescu Tudor Frostfire Data 24 noiembrie 2018 23:40:29
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#define inf 10001
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,d[1010][5010],w;
struct energii
{
    int energie,pret;
}v[1003];
int main()
{
    f >> n >> w;
    for(int i=1; i<=n; i++) f >> v[i].energie >> v[i].pret;
    for(int i=0; i<=n; i++)
        for(int j=0; j<=w; j++) d[i][j] = inf;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=w; j++) {
            if(j-v[i].energie <= 0) d[i][j] = min(d[i-1][j],v[i].pret);
              else d[i][j] = min(d[i-1][j],d[i-1][j-v[i].energie]+v[i].pret);
        }
    if(d[n][w]==inf) g << -1 << '\n';
      else g << d[n][w] << '\n';
    return 0;
}