#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
#define all(a) a.begin(), a.end()
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) {
	ll ans=0, cur=0;
	vector<int> ALL;
	for (int i = 0; i < M; i++) {
		ALL.pb(i);
		if (X[i] == 1) cur += W[i];
	}
	sort(all(ALL), [&](int i, int j) {
		if (Y[i]==Y[j]) return X[i]>X[j];
		else return Y[i]<Y[j];
	});
	if (N==2) return max(accumulate(all(W), 0LL), cur);
	ans=cur;
	for (int i:ALL) {
		if (X[i]==1) cur-=W[i];
		else ans = max(ans, cur += W[i]);
	}
	return ans;
}
| # | 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... |