Pagini recente » Borderou de evaluare (job #2159064) | Cod sursa (job #2552100)
#include <bits/stdc++.h>
#define N 5001
#define X 10001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int s, p, n, g, a1[X], a2[X], a[X];
void citire(){
fin>>n>>g;
for(int i = 1; i <= n; ++i)
fin>>a1[i]>>a2[i];
}
void alg(){
for(int i = 1; i <= n; ++i){
for(int j=g-a1[i]; j >= 0; j--)
{
if(a[j+a1[i]]< a[j]+a2[i])
{
a[j+a1[i]]=a[j]+a2[i];
if(a[j+a1[i]] > s)
{
s=a[j+a1[i]];
}
}
}
}
}
int main(){
citire();
alg();
fout<<s;
}