제출 #1263693

#제출 시각아이디문제언어결과실행 시간메모리
1263693gry3125메기 농장 (IOI22_fish)C++20
0 / 100
14 ms3940 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, p0, p1; for (int i = 0; i < N; i++) { if (X[i] == 0) { a.pb(Y[i]); if (p0.empty()) { p0.pb(W[i]); } else { p0.pb(p0.back()+W[i]); } } else { b.pb(Y[i]); if (p1.empty()) { p1.pb(W[i]); } else { p1.pb(p1.back()+W[i]); } } } ll mx = max(p0[a.size()-1], p1[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, p0[i]+p1[N-1]-p1[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...