Cod sursa(job #2505356)
Utilizator | Robert Gaspar Darkwarrior | Data | 6 decembrie 2019 19:23:17 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[3][10005];
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int w,p,n,maxi,maxic=0;
f>>n>>maxi;
for(int i=1;i<=n;i++){
f>>w>>p;
for(int j=1;j<=maxi;j++){
if(w<=j)
if(a[1][j]>=a[1][j-w]+p){
a[2][j]=a[1][j];
}
else a[2][j]=a[1][j-w]+p;
}
for(int j=1;j<=maxi;j++){
a[1][j]=a[2][j];
}
}
for(int j=1;j<=maxi;j++)
if(a[1][j]>maxic)maxic=a[1][j];
g<<maxic;
return 0;
}