QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#380814 | #2432. Go with the Flow | ckiseki# | AC ✓ | 5893ms | 4304kb | C++20 | 2.0kb | 2024-04-07 12:50:32 | 2024-04-07 12:50:33 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define all(x) begin(x), end(x)
#ifdef CKISEKI
#define safe cerr << __PRETTY_FUNCTION__ << " line " << __LINE__ << " safe\n"
#define debug(a...) debug_(#a, a)
#define orange(a...) orange_(#a, a)
void debug_(auto s, auto ...a) {
cerr << "\e[1;32m(" << s << ") = (";
int f = 0;
(..., (cerr << (f++ ? ", " : "") << a));
cerr << ")\e[0m\n";
}
#include <experimental/iterator>
void orange_(auto s, auto L, auto R) {
cerr << "\e[1;33m[ " << s << " ] = [ ";
using namespace experimental;
copy(L, R, make_ostream_joiner(cerr, ", "));
cerr << " ]\e[0m\n";
}
#else
#define safe ((void)0)
#define debug(...) safe
#define orange(...) safe
#endif
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
vector<string> a(n);
for (auto &ai : a)
cin >> ai;
auto solve = [&](int l) {
int ans = 0;
vector<pair<int, int>> pre;
int p = 0;
while (p < n) {
vector<pair<int, int>> cur;
int w = 0;
while (w < l and p < n) {
int curw = int(a[p].size()) + !!w;
if (w + curw > l)
break;
w += curw;
p += 1;
cur.emplace_back(w, 1);
}
cur.pop_back();
size_t o = 0;
for (auto &[y, v] : cur) {
ans = max(ans, v);
while (o < pre.size()) {
if (pre[o].first + 1 < y)
o += 1;
else
break;
}
if (o == pre.size())
continue;
if (abs(pre[o].first - y) <= 1) {
v = max(v, pre[o].second + 1);
}
if (o + 1 < pre.size() and abs(pre[o + 1].first - y) <= 1) {
v = max(v, pre[o + 1].second + 1);
}
ans = max(ans, v);
}
pre = cur;
}
return ans;
};
int len = 0;
for (const auto &ai : a)
len = max(len, int(ai.size()));
pair<int, int> ans = {-1, 0};
for (int l = len; l < 2500 * 81; ++l)
ans = max(ans, pair{solve(l), -l});
cout << -ans.second << ' ' << ans.first << '\n';
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 50ms
memory: 3796kb
Test #2:
score: 0
Accepted
time: 56ms
memory: 3564kb
Test #3:
score: 0
Accepted
time: 10ms
memory: 3620kb
Test #4:
score: 0
Accepted
time: 73ms
memory: 3564kb
Test #5:
score: 0
Accepted
time: 402ms
memory: 3932kb
Test #6:
score: 0
Accepted
time: 116ms
memory: 3836kb
Test #7:
score: 0
Accepted
time: 59ms
memory: 3528kb
Test #8:
score: 0
Accepted
time: 59ms
memory: 3628kb
Test #9:
score: 0
Accepted
time: 56ms
memory: 3624kb
Test #10:
score: 0
Accepted
time: 62ms
memory: 3628kb
Test #11:
score: 0
Accepted
time: 80ms
memory: 3628kb
Test #12:
score: 0
Accepted
time: 147ms
memory: 3644kb
Test #13:
score: 0
Accepted
time: 1697ms
memory: 3716kb
Test #14:
score: 0
Accepted
time: 1709ms
memory: 3752kb
Test #15:
score: 0
Accepted
time: 1700ms
memory: 3908kb
Test #16:
score: 0
Accepted
time: 4608ms
memory: 3828kb
Test #17:
score: 0
Accepted
time: 4606ms
memory: 3988kb
Test #18:
score: 0
Accepted
time: 4609ms
memory: 4076kb
Test #19:
score: 0
Accepted
time: 4348ms
memory: 3752kb
Test #20:
score: 0
Accepted
time: 4301ms
memory: 3816kb
Test #21:
score: 0
Accepted
time: 5125ms
memory: 3892kb
Test #22:
score: 0
Accepted
time: 5890ms
memory: 4304kb
Test #23:
score: 0
Accepted
time: 4297ms
memory: 3732kb
Test #24:
score: 0
Accepted
time: 4308ms
memory: 3760kb
Test #25:
score: 0
Accepted
time: 3938ms
memory: 3888kb
Test #26:
score: 0
Accepted
time: 3908ms
memory: 3784kb
Test #27:
score: 0
Accepted
time: 3904ms
memory: 3768kb
Test #28:
score: 0
Accepted
time: 1815ms
memory: 4016kb
Test #29:
score: 0
Accepted
time: 1830ms
memory: 3688kb
Test #30:
score: 0
Accepted
time: 1810ms
memory: 3732kb
Test #31:
score: 0
Accepted
time: 5663ms
memory: 4220kb
Test #32:
score: 0
Accepted
time: 5104ms
memory: 3836kb
Test #33:
score: 0
Accepted
time: 5113ms
memory: 3908kb
Test #34:
score: 0
Accepted
time: 4139ms
memory: 3764kb
Test #35:
score: 0
Accepted
time: 16ms
memory: 3828kb
Test #36:
score: 0
Accepted
time: 5099ms
memory: 4180kb
Test #37:
score: 0
Accepted
time: 5795ms
memory: 4220kb
Test #38:
score: 0
Accepted
time: 5793ms
memory: 3932kb
Test #39:
score: 0
Accepted
time: 5543ms
memory: 4216kb
Test #40:
score: 0
Accepted
time: 5603ms
memory: 3952kb
Test #41:
score: 0
Accepted
time: 5640ms
memory: 4256kb
Test #42:
score: 0
Accepted
time: 5812ms
memory: 4252kb
Test #43:
score: 0
Accepted
time: 5843ms
memory: 4056kb
Test #44:
score: 0
Accepted
time: 5808ms
memory: 3936kb
Test #45:
score: 0
Accepted
time: 5516ms
memory: 4012kb
Test #46:
score: 0
Accepted
time: 5515ms
memory: 4260kb
Test #47:
score: 0
Accepted
time: 5530ms
memory: 3952kb
Test #48:
score: 0
Accepted
time: 5508ms
memory: 3964kb
Test #49:
score: 0
Accepted
time: 5713ms
memory: 4048kb
Test #50:
score: 0
Accepted
time: 5598ms
memory: 4284kb
Test #51:
score: 0
Accepted
time: 5525ms
memory: 3952kb
Test #52:
score: 0
Accepted
time: 5517ms
memory: 3960kb
Test #53:
score: 0
Accepted
time: 5318ms
memory: 3924kb
Test #54:
score: 0
Accepted
time: 81ms
memory: 3792kb
Test #55:
score: 0
Accepted
time: 993ms
memory: 3932kb
Test #56:
score: 0
Accepted
time: 311ms
memory: 3880kb
Test #57:
score: 0
Accepted
time: 5873ms
memory: 3980kb
Test #58:
score: 0
Accepted
time: 5893ms
memory: 4292kb
Test #59:
score: 0
Accepted
time: 1061ms
memory: 3744kb
Test #60:
score: 0
Accepted
time: 805ms
memory: 3708kb
Test #61:
score: 0
Accepted
time: 87ms
memory: 3796kb
Test #62:
score: 0
Accepted
time: 654ms
memory: 3704kb
Test #63:
score: 0
Accepted
time: 1866ms
memory: 3728kb
Test #64:
score: 0
Accepted
time: 1087ms
memory: 3696kb
Test #65:
score: 0
Accepted
time: 5360ms
memory: 4008kb
Test #66:
score: 0
Accepted
time: 6ms
memory: 3856kb