Pagini recente » Cod sursa (job #1846219) | Cod sursa (job #419645) | Cod sursa (job #758543) | Cod sursa (job #1390263) | Cod sursa (job #274611)
Cod sursa(job #274611)
#include <fstream>
using namespace std;
int main()
{
ifstream in ("energii.in");
ofstream out("energii.out");
int i,j,m,c,e,G,W;
unsigned long v[1000000];
in>>G>>W;
for (i=1;i<=W+1;i++)
v[i]=1000000000;
for (i=1;i<=G;i++)
{
in>>e>>c;
for (j=W;j>=1;j--)
{
m=j+e;
if (m>W) m=W;
if (v[m]>v[j]+c) v[m]=v[j]+c;
if (v[m]>v[m+1]) v[m]=v[m+1];
}
for (j=1;j<=e;j++)
if (v[j]>c)
v[j]=c;
}
if (v[W]==1000000000)
out<<-1;
else out<<v[W];
return 0;
}