Pagini recente » Cod sursa (job #200047) | Cod sursa (job #985871) | Cod sursa (job #1880448) | Cod sursa (job #1908766) | Cod sursa (job #720238)
Cod sursa(job #720238)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
inline int Maxim(int a, int b){ return a>b?a:b; }
int x[10001], y[10001];
int main()
{
int n,gmax;
int c[5005],p[5005];
fin >> n >> gmax;
for(int i=1 ; i<=n ; i++)
fin>>c[i]>>p[i];
int *a = x , *b = y;
for(int i=1;i<=n;i++){
for(int j=1 ; j<=gmax ;++j)
if(j-c[i]<0)
b[j] = a[j];
else
b[j] = Maxim(a[j], a[j-c[i]] + p[i]);
int *aux = a;
a = b; b = aux;
}
fout << a[gmax] << "\n";
fin.close();
fout.close();
return 0;
}