Cod sursa(job #3313906)
| Utilizator | Data | 7 octombrie 2025 11:25:05 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <iostream>
using namespace std;
int dp[2][10001];
struct ura{
int p,g;
}v[5001];
int main() {
int n,G,i,j;
cin>>n>>G;
for(i=0;i<n;i++)
cin>>v[i].g>>v[i].p;
for(i=0;i<=n;i++)
for(j=0;j<G;j++)
{
if(j+v[i].g<=G)
dp[1][j+v[i].g]=max(dp[0][j+v[i].g], dp[0][j]+v[i].p);
dp[0][j]=dp[1][j];
}
cout<<dp[1][G];
return 0;
}
