Cod sursa(job #2602620)
| Utilizator | Data | 17 aprilie 2020 15:07:59 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
int N,G,g,p,w[10005],u[10005];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
void interswap(){
for(int j=G;j>=0;--j){
swap(w[j],u[j]);
w[j]=0;
}
return;
}
int main(){
fin>>N>>G;
for(int j=1;j<=G;++j)
u[j]=-1073741823;
for(int i=1;i<=N;++i){
fin>>g>>p;
for(int j=G;j>=g;--j)
w[j]=max(u[j],u[j-g]+p);
interswap();
}
fout<<u[G];
return 0;
}
