Pagini recente » Cod sursa (job #1459978) | Cod sursa (job #2544357) | Cod sursa (job #554672) | Cod sursa (job #2286605) | Cod sursa (job #2652297)
#include <fstream>
#include <deque>
#include <vector>
#include <bitset>
#include <queue>
#include <unordered_set>
#include <algorithm>
#include <cmath>
using namespace std ;
ifstream cin ("rucsac.in") ;
ofstream cout ("rucsac.out") ;
int m[3][10009] ;
int main()
{
int n, k, mx = 0 ;
cin >> n >> k ;
for(int f = 1 ; f <= n ; f ++)
{
int g, val ;
cin >> g >> val ;
for(int e = 0 ; e <= k ; e ++)
{
if(e >= g)m[f % 2][e] = max({m[(f + 1) % 2][e], m[(f + 1) % 2][e - g] + val, m[f % 2][e - 1]}) ;
else m[f % 2][e] = max({m[(f + 1) % 2][e], m[f % 2][e - 1]}) ;
mx = max(m[f % 2][e], mx) ;
}
}
cout << mx ;
return 0 ;
}