Cod sursa(job #2731397)
Utilizator | Gabriel Dascalescu Gabriel_Dascalescu | Data | 27 martie 2021 19:06:33 |
---|---|---|---|
Problema | Energii | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#define nmax 10005
#define dmax 5005
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int g, w;
int put[nmax], cost[nmax], d[dmax];
int main()
{
in>>g>>w;
for(int i=1; i<=g; i++)
{
in>>put[i]>>cost[i];
}
for(int i=1; i<=w; i++)
{
d[i] = 2000000000;
}
for(int i=1; i<=g; i++)
{
for(int j=w; j>=0; j--)
{
if(put[i]+j>w)
d[w] = min(cost[i]+d[j], d[w]);
else
d[j+put[i]] = min(d[j]+cost[i],d[j+put[i]]);
}
}
out<<d[w];
return 0;
}