Pagini recente » Cod sursa (job #2682338) | Cod sursa (job #1152643) | Cod sursa (job #2882589) | Borderou de evaluare (job #156743) | Cod sursa (job #712421)
Cod sursa(job #712421)
#include <fstream>
int v[5005],i,e,c,n,m,nm;
using namespace std;
int main ()
{ifstream f("energii.in");
ofstream g("energii.out");
nm=0;
f>>m>>n;
while(m)
{f>>e>>c;
for(i=nm;i>=0;i--)
if(v[i]||!i)
if(i+e<=n)
if(v[i+e])
v[i+e]=min(v[i]+c,v[i+e]);
else
v[i+e]=v[i]+c;
else
if(v[n])
v[n]=min(v[i]+c,v[n]);
else
v[n]=v[i]+c;
nm=min(nm+e,n);
m--;}
if(v[n])
g<<v[n];
else
g<<-1;
f.close(); g.close();
return 0;
}