# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
958526 | horiseun | 메기 농장 (IOI22_fish) | C++17 | 56 ms | 5352 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 <iostream>
#include <vector>
#include <algorithm>
#include "fish.h"
using namespace std;
#define ll long long
ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) {
ll ans = 0;
vector<int> col0, col1;
for (int i = 0; i < M; i++) {
if (X[i]) col1.push_back(i);
else col0.push_back(i);
}
sort(col0.begin(), col0.end(), [&] (int x, int y) {
return Y[x] < Y[y];
});
sort(col1.begin(), col1.end(), [&] (int x, int y) {
return Y[x] > Y[y];
});
reverse(col0.begin(), col0.end());
col0.push_back(-1);
reverse(col0.begin(), col0.end());
vector<int> pref(col0.size() + 1, 0);
for (int i = 1; i < col0.size(); i++) {
pref[i] = pref[i - 1] + W[col0[i]];
col0[i] = Y[col0[i]];
}
ans = pref.back();
ll tmp = 0;
for (int i = 0; i < col1.size(); i++) {
int idx = lower_bound(col0.begin(), col0.end(), Y[col1[i]]) - col0.begin();
tmp += W[col1[i]];
if (idx == 0) continue;
idx--;
ans = max(ans, pref[idx] + tmp);
}
return ans;
}
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |