# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
850389 | AliHasanli | Catfish Farm (IOI22_fish) | C++17 | 0 ms | 0 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>
using namespace std;
map<int,int>mX,mY;
long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W)
{
for(int i=0;i<X.size();i++)
{
mX[X[i]]=1;
mY[Y[i]]=1;
}
if(N==1)
return 0;
bool check=true;
int maxX=0;
for(int i:X)
maxX=max(maxX,i);
for(int i:X)
if(i%2)
{
check=false;
break;
}
long long ans=0;
if(check)
{
for(int i=0;i<W.size();i++)
ans+=W[i];
return ans;
}
if(maxX==0)
{
for(int i=0;i<W.size();i++)
ans+=W[i];
return ans;
}
if(maxX==1)
{
long long ansX0=0,ansX1=0;
for(int i=0;i<X.size();i++)
if(X[i]==1)
ansX1+=W[i];
ans=anxX1;
for(int i=0;i<N;i++)
{
if(mY[i]==1 && mX[1]==1)
anxX1-=W[i];
if(mY[i]==1 && mX[0]==1)
}
return max(ansX0,ansX1);
}
return 0;
}
int main() {
int N, M;
cin>>N>>M;
vector<int> X(M), Y(M), W(M);
for (int i = 0; i < M; ++i)
cin>>X[i]>>Y[i]>>W[i];
long long result = max_weights(N, M, X, Y, W);
cout<<result;
return 0;
}