Submission #940584

#TimeUsernameProblemLanguageResultExecution timeMemory
940584Ghetto메기 농장 (IOI22_fish)C++17
0 / 100
79 ms30292 KiB
#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; assert(n != 2); 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...