Pagini recente » Cod sursa (job #2901280) | Cod sursa (job #2052135) | Cod sursa (job #1997257) | Cod sursa (job #1848258) | Cod sursa (job #2297790)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
const int N=1005;
const int W=5005;
const int MAX=(1<<20);
int c[N],p[N],n,k,cost[W];
int main()
{
int i,j;
in>>n>>k;
for(i=1; i<=n; i++)
in>>c[i]>>p[i];
for(i=1; i<=k; i++)
cost[i]=MAX;
for(i=1; i<=n; i++)
{
for(j=k; j>=0; j--)
{
if(j<=c[i])
cost[j]=min(cost[j],p[i]);
else
cost[j]=min(cost[j],cost[j-c[i]]+p[i]);
}
for(j=1; j<=k; j++)
out<<cost[j]<<" ";
out<<endl;
}
if(cost[k]!= MAX)
out<<cost[k];
else
out<<-1;
return 0;
}