Cod sursa(job #1985291)
Utilizator | Data | 27 mai 2017 13:37:05 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[10001];
int main() {
int n,m,g,p,i,j;
fin>>n>>m;
for(i=1;i<=n;i++) {
fin>>g>>p;
for(j=m-g;j>0;j--)
if(a[j]!=0 && a[j+g]<a[j]+p)
a[j+g]=a[j]+p;
if(a[g]<p)
a[g]=p;
}
p=0;
for(i=1;i<=m;i++)
if(a[i]>p)
p=a[i];
fout<<p;
return 0;
}