Pagini recente » Cod sursa (job #897068) | Cod sursa (job #2545871) | Cod sursa (job #1947983) | Cod sursa (job #1370201) | Cod sursa (job #1802648)
#include <fstream>
#define INF 10000000
using namespace std;
int D[5010];
int v[1010], c[1010];
int n,w,i,j;
int main () {
ifstream fin ("energii.in");
ofstream fout("energii.out");
fin>>n>>w;
for (i=1;i<=n;i++)
fin>>v[i]>>c[i];
for (i=1;i<=w;i++)
D[i] = INF;
D[0] = 0;
for (i=1;i<=n;i++)
for (j=w;j>=0;j--)
if (D[j] != INF) {
if (j+v[i] <= w)
D[j+v[i]] = min(D[j+v[i]], D[j] + c[i]);
else
D[w] = min(D[w], D[j]+c[i]);
}
if (D[w] == INF)
fout<<-1;
else
fout<<D[w];
return 0;
}