Pagini recente » Cod sursa (job #646821) | Cod sursa (job #678003) | Cod sursa (job #1614829) | Cod sursa (job #1376924) | Cod sursa (job #1667956)
#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)
for(j=s;j>=EG;j--)
a[j]=min(a[j],a[j-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=W-1;j>=EG;j--)
a[j]=min(a[j],a[j-EG]+CG);}}}
if(s<W)
g<<-1;
else
g<<a[W];
return 0;
}