Pagini recente » Cod sursa (job #1128050) | Cod sursa (job #2878392) | Cod sursa (job #3135960) | Cod sursa (job #2984075) | Cod sursa (job #744815)
Cod sursa(job #744815)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int a[3][5001];
int main ()
{
ifstream f("in");
ofstream g("out");
int n,W,o=999999,p,w,i,j,mat=2;
f>>n>>W;
for(i=1;i<=n;++i)
{
f>>w>>p;
for(j=1;j<=W;++j)
if(i==1)
if(w>=j)a[3-mat][j]=p;
else a[3-mat][j]=o;
else
if(w>j)a[3-mat][j]=min(a[mat][j],p);
else a[3-mat][j]=min(a[mat][j],a[mat][j-w]+p);
mat=3-mat;
}
if(a[mat][W]<o)g<<a[mat][W]<<"\n";
else g<<"-1\n";
f.close();
g.close();
return 0;
}