| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1263697 | gry3125 | Catfish Farm (IOI22_fish) | C++20 | 29 ms | 5728 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.back(), p1.back());
for (int i = 0; i < a.size(); i++) {
if (b.back() <= a[i]) continue;
if (a[i] < b.front()) {
mx = max(mx, p0[i]+p1.back());
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.back()-p1[L]);
}
return mx;
}
| # | 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... | ||||
