#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) {
if (N == 2) {
ll res[2] = {};
for (int i = 0; i < M; i++) {
res[X[i]] += W[i];
}
return max(res[0], res[1]);
} else {
ll res = 0;
vector<pair<int, pair<int, int>>> v;
ll sum1 = 0, sum0 = 0;
for (int i = 0; i < M; i++) {
v.push_back({Y[i], {W[i], X[i]}});
if (X[i])
sum1 += W[i];
}
sort(v.begin(), v.end());
res = sum1;
for (int i = 0; i < v.size(); i++) {
if (v[i].second.second == 1)
sum1 -= v[i].second.first;
else
sum0 += v[i].second.first;
while (i < v.size() - 1 && v[i].first == v[i + 1].first) {
i++;
}
res = max(res, sum0 + sum1);
}
return res;
}
}
# | 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... |