Pagini recente » Cod sursa (job #2425529) | Cod sursa (job #1127773) | Cod sursa (job #1478072) | Cod sursa (job #1662816) | Cod sursa (job #927739)
Cod sursa(job #927739)
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("energii.in");
ofstream ki("energii.out");
int n,g,d[2][5001],e[1001],w[1001];
bool gasit=false;
int maxim(int t,int k)
{
if(t>=k)
return t;
return k;
}
int main()
{
ka>>n>>g;
for(int i=1;i<=n;i++)
ka>>e[i]>>w[i];
for(int i=1;i<=n;i++)
{
for(int cw=1;cw<=5001;cw++)
{
d[1][cw]=0;
if(w[i]<=cw)
{
d[1][cw]=maxim(d[1][cw],d[0][cw-w[i]]+e[i]);
}
if(d[1][cw]>=g)
{ki<<cw;
gasit=true;
break;}
}
if(gasit)
break;
for(int cw=1;cw<=g;cw++)
{
d[0][cw]=d[1][cw];
}
}
}