Submission #1209430

#TimeUsernameProblemLanguageResultExecution timeMemory
1209430tkm_algorithmsCatfish Farm (IOI22_fish)C++20
6 / 100
49 ms8292 KiB
/** * In the name of Allah * We are nothing and you're everything **/ #include <bits/stdc++.h> #include "fish.h" using namespace std; using ll = long long; using ull = uint64_t; #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() //#define int long long const char nl = '\n'; //const int N = 2e5+1; const ll inf = 0x3f3f3f3f3f3f3f3fll; const int mod = 1e9+7; long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) { ll sum = 0, sum2 = 0; for (int i = 0; i < M; ++i) { if (X[i] == 0)sum += W[i]; else sum2 += W[i]; } vector<pair<int, int>> f[2]; for (int i = 0; i < M; ++i) { f[X[i]].push_back({Y[i], W[i]}); } vector<ll> p1(N+1), p2(N+1); for (auto i: f[0])p1[i.first] = i.second; for (auto i: f[1])p2[i.first] = i.second; for (int i = 1; i < N; ++i)p1[i] += p1[i-1], p2[i] += p2[i-1]; ll res = max(sum, sum2); if (N >= 3) { for (int i = 0; i < N; ++i) { res = max(res, p1[i]+p2[N-1]-p2[i]); } } return res; }
#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...