Cod sursa(job #2966732)
Utilizator | Data | 18 ianuarie 2023 12:00:36 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int NMAX = 1e4+5;
int n, g, w[NMAX], p[NMAX], dp[NMAX], ans = 0;
inline void solve()
{
for(int i=1;i<=n;++i)
{
for(int j=g-w[i];j>=0;--j)
{
if(dp[j+w[i]] < dp[j] + p[i])
{
dp[j+w[i]] = dp[j]+p[i];
ans = max(dp[j+w[i]], ans);
}
}
}
fout << dp[g];
}
int main()
{
fin >> n >> g;
for(int i=1;i<=n;++i)
fin >> w[i] >> p[i];
solve();
}