Pagini recente » Cod sursa (job #860230) | Cod sursa (job #2465567) | Cod sursa (job #2861999) | Cod sursa (job #2366230) | Cod sursa (job #2966694)
#include <bits/stdc++.h>
using namespace std;
/// INPUT / OUTPUT
ifstream fin("energii.in");
ofstream fout("energii.out");
/// GLOBAL VARIABLES
const int GMAX = 1001;
int g, w;
int G[GMAX], W[GMAX];
int dp[GMAX][GMAX];
/// SOLUTION (I HOPE)
inline void solution()
{
for(int i = 1; i <= g; ++ i)
{
dp[i][G[i]] = max(dp[i-1][G[i]], W[i]);
for(int j = 1; j <= w; ++ j)
{
dp[i][j] = max(dp[i-1][j], dp[i-1][j-W[i]] + W[i]);
}
}
for(int i = 1; i <= g; ++ i)
{
for(int j = 1; j <= w; ++ j)
{
//cout << dp[i][j] << ' ';
}
//cout << '\n';
}
if(dp[g][w])
fout << dp[g][w];
else
fout << -1;
}
/// READING THE INPUT
int main()
{
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> g >> w;
for(int i = 1; i <= g; ++ i)
{
fin >> G[i] >> W[i];
}
solution();
}