Cod sursa(job #2640858)

Utilizator andrei42Oandrei42O andrei42O Data 8 august 2020 17:15:42
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
//#include "pch.h"
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int oo = 100000000;
int G, W, e[1001], c[1001], d[1001][5001];
int main()
{
	f >> G >> W;
	for(int i = 1; i <= G; i++)
        f >> e[i] >> c[i];
    for(int i = 1; i <= G; i++)
        for(int j = 1; j <= W; j++)
            d[i][j] = oo;
    for(int i = 1; i <= e[1]; i++)
        d[1][i] = c[1];
    for(int i = 2; i <= G; i++)
    {
        for(int j = 1; j <= W; j++)
        {
            d[i][j] = d[i - 1][j];
            if(e[i] >= j)
                d[i][j] = min(d[i][j], c[i]);
            else
                d[i][j] = min(d[i][j], d[i - 1][j - e[i]] + c[i]);
        }
    }
    if(d[G][W] == oo)
        g << -1;
    else
        g << d[G][W];


	return 0;
}