Cod sursa(job #2846967)

Utilizator Mihai7218Bratu Mihai-Alexandru Mihai7218 Data 9 februarie 2022 21:37:23
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, i, j, w, vsize, d[10001];
short  eg[1001], cg[1001];
int main()
{
    fin >> n >> w;
    for (i = 1; i <= n; i++)
    {
        fin >> eg[i] >> cg[i];
    }
    for (i = 1; i <= 10000; i++)
        d[i] = 1e9;
    for (i = 1; i <= n; i++)
    {
        vsize += eg[i];
        vsize = min(vsize, 10000);
        for (j = vsize; j >= eg[i]; j--)
            if (d[j-eg[i]]+cg[i] < d[j]) d[j] = d[j-eg[i]]+cg[i];
    }
//    for (i = 1; i <= vsize; i++, fout << "\n")
//    {
//        fout << i << " " << d[i];
//    }
    int mx = 1e9;
    for (i = w; i <= vsize; i++)
        mx = min(mx, d[i]);
    if (mx == 1e9) fout << -1;
    else fout << mx;
    return 0;
}