Submission #1263691

#TimeUsernameProblemLanguageResultExecution timeMemory
1263691gry3125메기 농장 (IOI22_fish)C++20
0 / 100
14 ms3776 KiB
#include "fish.h" #include <bits/stdc++.h> #define ll long long #define pb push_back using namespace std; // sub 2 ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) { vector<ll> a, b, pa, pb; for (int i = 0; i < N; i++) { if (X[i] == 0) a.pb(Y[i]); else b.pb(Y[i]); } pa.resize(a.size()); pb.resize(b.size()); pa[0] = W[a[0]]; pb[0] = W[b[0]]; for (int i = 1; i < a.size(); i++) pa[i] = pa[i-1] + W[a[i]]; for (int i = 1; i < b.size(); i++) pb[i] = pb[i-1] + W[b[i]]; ll mx = max(pa[a.size()-1], pb[b.size()-1]); for (int i = 0; i < a.size(); i++) { if (b[b.size()-1] <= a[i]) continue; int L = 0, R = b.size()-1; while (L < R) { int m = (L + R) / 2; if (b[m] <= a[i]) L = m+1; else R = m; } mx = max(mx, pa[i]+pb[N]-pb[L]); } return mx; }
#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...