Pagini recente » Cod sursa (job #2384641) | Cod sursa (job #2056101) | Cod sursa (job #1331772) | Cod sursa (job #1765348) | Cod sursa (job #2527751)
#include <fstream>
#include <bitset>
using namespace std;
int D[10010];
int n,m,G,g,i,j,p,sol;
bitset<10010> v;
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>n>>G;
v[0]=1;
m=1;
for (i=1;i<=n;i++) {
fin>>g>>p;
m+=g;
if (m>G){
m=G;
}
for (j=m;j>=0;j--){
if (v[j]==1){
if (j+g<=G&&D[j+g]<D[j]+p){
v[j+g]=1;
D[j+g]=D[j]+p;
sol=max(sol,D[j+g]);
}
}
}
}
fout<<sol;
return 0;
}