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"
// not my code, to test
#include <climits>
#include <algorithm>
#include <numeric>
#include <utility>
#include <vector>
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
                      std::vector<int> W) {
  std::vector<std::vector<long long>> fish(N + 2, std::vector<long long>(N + 1));
  for (int i = 0; i < M; ++i) {
    fish[X[i] + 1][Y[i] + 1] = W[i];
  }
  for (int i = 1; i <= N; ++i) {
    for (int j = 1; j <= N; ++j) {
      fish[i][j] += fish[i][j - 1];
    }
  }
  std::vector<long long> dpInc(N + 1, -1e18), dpDec(N + 1, -1e18);
  std::vector<long long> ndpInc(N + 1), ndpDec(N + 1);
  dpInc[0] = dpDec[0] = 0;
  for (int i = 1; i <= N + 1; ++i) {
    long long pref = 0LL;
    for (int j = 0; j <= N; ++j) {
      pref = std::max(pref, dpInc[j] - fish[i - 1][j]);
      ndpInc[j] = std::max(pref + fish[i - 1][j], dpDec[0]);
    }
    long long suff = 0LL;
    for (int j = N; j >= 0; --j) {
      suff = std::max(suff, std::max(dpInc[j], dpDec[j]) + fish[i][j]);
      ndpDec[j] = suff - fish[i][j];
    }
    std::swap(dpInc, ndpInc); std::swap(dpDec, ndpDec);
  }
  return std::max(dpInc[0], dpDec[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... |