Cod sursa(job #2987172)
| Utilizator | Data | 2 martie 2023 08:30:46 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,Gr;
int dp[1004];
struct rahat{
int w,p;
}v[1005];
void citire()
{
f>>n>>Gr;
for(int i=1;i<=n;i++)
f>>v[i].w>>v[i].p;
}
void solve()
{
int sol=0;
for(int i=1;i<=n;i++)
for(int j=Gr-v[i].w;j>=0;j--)
if(dp[j+v[i].w]<dp[j]+v[i].p)
{
dp[j+v[i].w]=dp[j]+v[i].p;
if(dp[j+v[i].w]>sol)
sol=dp[j+v[i].w];
}
g<<sol;
}
int main()
{
citire();
solve();
return 0;
}
