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 "fish.h"
#include <vector>
using namespace std;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) {
int count = 0;
long long ans = 0;
long long tempMax = 0;
for(int i = 0; i < M; i++){
if(X[i]%2 == 0){
count++;
}
}
if(count == M){
for(int i = 0; i < M; i++){
ans += (long long)W[i];
}
return ans;
}
count = 0;
for(int i = 0; i < M; i++){
if(X[i] <= 1){
count++;
}
}
if(count == M){
vector<vector <int> > grid(2, vector<int>(N, 0));
long long zeroside = 0;
long long oneside = 0;
for(int i = 0; i < M; i++){
if(X[i]){
oneside += (long long)W[i];
}
else{
zeroside += (long long)W[i];
}
grid[X[i]][Y[i]] = W[i];
}
if(N == 2){
ans = max(oneside, zeroside);
}
else{
long long tempSum = 0;
for(int i = 0; i < N; i++){
tempSum += grid[1][i] - grid[0][i];
tempMax = max(tempSum, tempMax);
}
}
return ans+tempMax;
}
return 0;
}
# | 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... |