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 <bits/stdc++.h>
using namespace std;
using lint = long long;
const int MAX_N = 1e5 + 5, MAX_M = 3e5 + 5;
int n, m;
int x[MAX_M], y[MAX_M];
lint w[MAX_M];
lint w_at[2][MAX_N];
lint w_sum[2][MAX_N];
void precomp() {
for (int i = 0; i < m; i++)
w_at[x[i]][y[i]] = w[i];
for (int i = 0; i <= 1; i++)
for (int j = 0; j < n; j++)
w_sum[i][j] = w_at[i][j] + ((j == 0) ? 0 : w_sum[i][j - 1]);
}
void init() {
for (int i = 0; i <= 1; i++)
for (int j = 0; j < n; j++)
w_at[i][j] = 0;
}
lint max_weights(int tmp_n, int tmp_m, vector<int> tmp_x, vector<int> tmp_y, vector<int> tmp_w) {
n = tmp_n;
m = tmp_m;
init();
for (int i = 0; i < m; i++) {
x[i] = tmp_x[i];
y[i] = tmp_y[i];
w[i] = tmp_w[i];
}
precomp();
lint ans = w_sum[1][n - 1];
for (int y = 0; y < n; y++) {
lint new_ans = w_sum[1][n - 1] - w_sum[1][y] + w_sum[0][y];
ans = max(ans, new_ans);
}
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... |