Pagini recente » Cod sursa (job #1944331) | Cod sursa (job #665767) | Cod sursa (job #2459548) | Cod sursa (job #2110964) | Cod sursa (job #2238477)
#include<stdio.h>
#define FOR(i,n) for (int i=0;i<n;i++)
int n,g;
int w[1000000] = { 0 };
int t[1000000] = { 0 };
int l[1000000] = { 0 };
int main() {
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d", &n, &g);
FOR(i, n) {
int wi = 0;
scanf("%d", &wi);
scanf("%d", &w[wi]);
}
FOR(i, g) {
if (w[i]) {
for (int j = i; j < g; j++) {
if (t[j - 1] < t[j - i] + w[i] && !l[i]) {
t[j] = t[j - i] + w[i];
l[i] = 1;
}
else if(t[j]<t[j - i] + w[i])
t[j] = t[j - 1];
}
}
}
FOR(i, g)
printf("%d ", t[i]);
return 0;
}