Cod sursa(job #3294782)
| Utilizator | Data | 28 aprilie 2025 12:48:36 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int dp[10005];
int n,greutate_maxima;
int maxim=0;
int main()
{
fin>>n>>greutate_maxima;
for(int i=0;i<n;i++)
{
int pret,greutate;
fin>>greutate>>pret;
for(int j=greutate_maxima-greutate; j>=0; j--)
{
if(dp[j]+pret>dp[j+greutate])
{
dp[j+greutate]=dp[j]+pret;
}
}
for(int i=0;i<=greutate_maxima;i++)
{
maxim=max(maxim,dp[i]);
}
}
fout<<maxim;
}