# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
869902 | cuman | Knapsack (NOI18_knapsack) | C++14 | 110 ms | 3408 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define between(l,x,r) ((l) <= (x) && (x) <= (r))
#define len(v) (i64((v).size()))
using i64 = long long;
const i64 MaxN = 1e5;
const i64 MaxS = 2e3;
i64 S, N;
array<i64,3> VWK[MaxN];
vector<i64> VByWeight[MaxS+1];
// (V, W)
vector<pair<i64,i64>> flatten;
i64 DPi[MaxS + 1], DPiplusone[MaxS + 1];
signed main() {
fill(VByWeight, VByWeight + MaxS + 1, vector<i64>(0));
cin >> S >> N;
for (i64 i = 0; i < N; i++) cin >> VWK[i][0] >> VWK[i][1] >> VWK[i][2];
sort(VWK, VWK + N, greater<array<i64,3>>());
for (i64 i = 0; i < N; i++) {
i64 v = VWK[i][0], w = VWK[i][1], k = VWK[i][2];
i64 timesToAdd = min(k, S/w - len(VByWeight[w]));
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |