Pagini recente » Cod sursa (job #1315038) | Cod sursa (job #2225332) | Cod sursa (job #2367895) | Cod sursa (job #2856387) | Cod sursa (job #1076371)
#include <fstream>
using namespace std;
#define DEBUG false
#define MAXN 5001
#define MAXG 10001
#if DEBUG
#include <iostream>
#define INFILE "/Users/biordach/Documents/Xcode Projects/training/training/rucsac.in"
#define __OUT cout
#else
#define INFILE "rucsac.in"
#define OUTFILE "rucsac.out"
ofstream __OUT(OUTFILE);
#endif
int n, G;
int g[MAXN], p[MAXN];
int sol[MAXG];
void readInput();
void solve();
void printOutput();
int main(int argc, const char * argv[])
{
readInput();
solve();
printOutput();
#if DEBUG == false
__OUT.close();
#endif
return 0;
}
int maxim(int a, int b){
return a > b ? a: b;
}
void readInput(){
ifstream in(INFILE);
in>>n>>G;
for(int i=0;i<n;i++){
in>>g[i]>>p[i];
}
in.close();
}
void solve(){
for(int i=0;i<n;i++)
for (int j = G; j>=g[i];j--) {
sol[j] = maxim(sol[j], sol[j-g[i]] + p[i]);
}
}
void printOutput(){
__OUT<<sol[G]<<'\n';
}