Pagini recente » Cod sursa (job #1231436) | Cod sursa (job #1915255) | Cod sursa (job #2467718) | Cod sursa (job #3289039) | Cod sursa (job #1667928)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int a[5005];
int main()
{
int G,W,EG,CG,i,j,s=0;
f>>G>>W;
for(i=1; i<=W; i++)
a[i]=50000000;
for(i=1; i<=G; i++)
{
f>>EG>>CG;
s+=EG;
if(s<=W)
a[s]=a[s-EG]+CG;
else
{
if(EG>=W)
a[W]=min(a[W],CG);
else
{
for(j=W-EG;j<W;j++)
a[W]=min(a[W],a[j]+CG);
for(j=EG;j<W;j++)
a[j]=min(a[j],a[j-EG]+CG);
}
}
}
if(s<W)
g<<-1;
else
g<<a[W];
return 0;
}