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;
typedef long long ll;
struct fish{fish(int xi,int yi,int wi):x(xi),y(yi),w(wi){} int x,y,w;};
ll max_weights(int N,int M,vector<int> X,vector<int> Y,vector<int> W) {
if(N==2) {
ll c1=0,c2=0;
for(int i=0;i<M;++i) {
if(X[i]==0) c1+=W[i];
else c2+=W[i];
}
return max(c1,c2);
} else {
vector<fish> v;
ll tot=0;
for(int i=0;i<M;++i) {
v.push_back(fish(X[i],Y[i],W[i]));
if(X[i]==1) tot+=W[i];
}
ll ans=tot;
sort(v.begin(),v.end(),[](fish a,fish b) {return (a.y==b.y?a.x>b.x:a.y<b.y);});
for(fish f:v) {
if(f.x==1) tot-=f.w;
else tot+=f.w;
ans=max(ans,tot);
}
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... |