QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#736732 | #9615. 骨牌覆盖 | hos_lyric# | 45 | 5ms | 4144kb | C++14 | 7.6kb | 2024-11-12 12:56:49 | 2024-11-12 12:56:49 |
Judging History
answer
#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;
using Int = long long;
template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")
// T: monoid representing information of an interval.
// T() should return the identity.
// T(S s) should represent a single element of the array.
// T::pull(const T &l, const T &r) should pull two intervals.
template <class T> struct SegmentTreePoint {
int logN, n;
vector<T> ts;
SegmentTreePoint() : logN(0), n(0) {}
explicit SegmentTreePoint(int n_) {
for (logN = 0, n = 1; n < n_; ++logN, n <<= 1) {}
ts.resize(n << 1);
}
template <class S> explicit SegmentTreePoint(const vector<S> &ss) {
const int n_ = ss.size();
for (logN = 0, n = 1; n < n_; ++logN, n <<= 1) {}
ts.resize(n << 1);
for (int i = 0; i < n_; ++i) at(i) = T(ss[i]);
build();
}
T &at(int i) {
return ts[n + i];
}
void build() {
for (int u = n; --u; ) pull(u);
}
inline void pull(int u) {
ts[u].pull(ts[u << 1], ts[u << 1 | 1]);
}
// Changes the value of point a to s.
template <class S> void change(int a, const S &s) {
assert(0 <= a); assert(a < n);
ts[a += n] = T(s);
for (; a >>= 1; ) pull(a);
}
// Applies T::f(args...) to point a.
template <class F, class... Args>
void ch(int a, F f, Args &&... args) {
assert(0 <= a); assert(a < n);
(ts[a += n].*f)(args...);
for (; a >>= 1; ) pull(a);
}
// Calculates the product for [a, b).
T get(int a, int b) {
assert(0 <= a); assert(a <= b); assert(b <= n);
if (a == b) return T();
T prodL, prodR, t;
for (a += n, b += n; a < b; a >>= 1, b >>= 1) {
if (a & 1) { t.pull(prodL, ts[a++]); prodL = t; }
if (b & 1) { t.pull(ts[--b], prodR); prodR = t; }
}
t.pull(prodL, prodR);
return t;
}
// Calculates T::f(args...) of a monoid type for [a, b).
// op(-, -) should calculate the product.
// e() should return the identity.
template <class Op, class E, class F, class... Args>
#if __cplusplus >= 201402L
auto
#else
decltype((std::declval<T>().*F())())
#endif
get(int a, int b, Op op, E e, F f, Args &&... args) {
assert(0 <= a); assert(a <= b); assert(b <= n);
if (a == b) return e();
auto prodL = e(), prodR = e();
for (a += n, b += n; a < b; a >>= 1, b >>= 1) {
if (a & 1) prodL = op(prodL, (ts[a++].*f)(args...));
if (b & 1) prodR = op((ts[--b].*f)(args...), prodR);
}
return op(prodL, prodR);
}
// Find min b s.t. T::f(args...) returns true,
// when called for the partition of [a, b) from left to right.
// Returns n + 1 if there is no such b.
template <class F, class... Args>
int findRight(int a, F f, Args &&... args) {
assert(0 <= a); assert(a <= n);
if ((T().*f)(args...)) return a;
if (a == n) return n + 1;
a += n;
for (; ; a >>= 1) if (a & 1) {
if ((ts[a].*f)(args...)) {
for (; a < n; ) {
if (!(ts[a <<= 1].*f)(args...)) ++a;
}
return a - n + 1;
}
++a;
if (!(a & (a - 1))) return n + 1;
}
}
// Find max a s.t. T::f(args...) returns true,
// when called for the partition of [a, b) from right to left.
// Returns -1 if there is no such a.
template <class F, class... Args>
int findLeft(int b, F f, Args &&... args) {
assert(0 <= b); assert(b <= n);
if ((T().*f)(args...)) return b;
if (b == 0) return -1;
b += n;
for (; ; b >>= 1) if ((b & 1) || b == 2) {
if ((ts[b - 1].*f)(args...)) {
for (; b <= n; ) {
if (!(ts[(b <<= 1) - 1].*f)(args...)) --b;
}
return b - n - 1;
}
--b;
if (!(b & (b - 1))) return -1;
}
}
}; // SegmentTreePoint<T>
////////////////////////////////////////////////////////////////////////////////
constexpr Int INF = 1001001001001001001LL;
struct NodeMax {
Int mx;
NodeMax() : mx(-INF) {}
NodeMax(Int val) : mx(val) {}
void pull(const NodeMax &l, const NodeMax &r) {
mx = max(l.mx, r.mx);
}
void ch(Int val) {
mx = val;
}
void chmax(Int val) {
if (mx < val) mx = val;
}
bool test(Int tar) const {
return (mx >= tar);
}
};
////////////////////////////////////////////////////////////////////////////////
int N;
vector<Int> A;
#define A do_not_use_A
vector<Int> B[2], BSum[2];
void build() {
for (int h = 0; h < 2; ++h) {
BSum[h].assign(N + 1, 0);
for (int i = 0; i < N; ++i) {
BSum[h][i + 1] = BSum[h][i] + B[h][i];
}
}
}
// l -> min bad r
vector<int> brute() {
vector<int> rs(N + 1, N + 1);
for (int l = 0; l < N; ++l) {
Int now[2] = {};
for (int i = l; i < N; ++i) {
if (l <= i - 1) {
// Hall for side 0 in [l, i)
if (now[0] > now[1] + min(B[0][i - 1], B[1][i])) {
rs[l] = i + 1;
break;
}
}
for (int h = 0; h < 2; ++h) now[h] += B[h][i];
}
}
return rs;
}
vector<int> solve() {
vector<Int> cs(N, -INF);
for (int i = 1; i < N; ++i) {
cs[i] = BSum[0][i] - BSum[1][i] - min(B[0][i - 1], B[1][i]);
}
SegmentTreePoint<NodeMax> seg(cs);
vector<int> rs(N + 1, N + 1);
for (int l = 0; l < N; ++l) {
rs[l] = seg.findRight(l + 1, &NodeMax::test, BSum[0][l] - BSum[1][l] + 1);
}
#ifdef LOCAL
const auto brt=brute();
if(brt!=rs){
cerr<<"B[0] = "<<B[0]<<endl;
cerr<<"B[1] = "<<B[1]<<endl;
cerr<<"brt = "<<brt<<endl;
cerr<<"rs = "<<rs <<endl;
}
#endif
return rs;
}
#undef A
int main() {
for (int numCases; ~scanf("%d", &numCases); ) { for (int caseId = 1; caseId <= numCases; ++caseId) {
scanf("%d", &N);
A.resize(N);
for (int i = 0; i < N; ++i) {
scanf("%lld", &A[i]);
}
for (int h = 0; h < 2; ++h) {
B[h].resize(N);
for (int i = 0; i < N; ++i) {
B[h][i] = (A[i] + (h ^ (i & 1) ^ 1)) / 2;
}
}
build();
auto fs = brute();
for (int h = 0; h < 2; ++h) reverse(B[h].begin(), B[h].end());
build();
auto gs = brute();
for (int h = 0; h < 2; ++h) reverse(B[h].begin(), B[h].end());
build();
reverse(gs.begin(), gs.end());
for (int r = 0; r <= N; ++r) gs[r] = N - gs[r];
int ans = 0;
for (int l = 0; l <= N; ++l) for (int r = l + 1; r <= N; ++r) if (r < fs[l] && gs[r] < l) {
if (BSum[0][r] - BSum[0][l] == BSum[1][r] - BSum[1][l]) {
++ans;
}
}
printf("%d\n", ans);
}
#ifndef LOCAL
break;
#endif
}
return 0;
}
詳細信息
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 0ms
memory: 3808kb
input:
100 10 6 6 5 7 5 4 5 6 10 2 10 3 0 5 4 6 6 6 3 1 10 10 5 3 3 4 7 7 7 5 4 1 10 9 5 6 4 5 5 9 0 3 0 10 5 8 8 5 7 7 1 6 4 2 10 5 8 4 5 1 7 2 5 5 1 10 5 8 6 5 7 5 5 0 10 2 10 4 6 1 10 1 9 3 1 7 4 10 5 3 10 5 5 9 0 2 9 7 10 5 8 9 9 4 8 4 5 9 3 10 5 5 1 1 4 9 9 8 5 4 10 5 8 9 9 8 5 9 5 5 6 10 6 6 6 7 6 9 ...
output:
15 24 19 17 31 17 31 15 16 24 21 24 17 16 18 24 24 29 27 16 21 25 17 16 13 23 17 31 22 12 23 27 29 27 25 13 15 23 23 21 25 25 31 16 24 27 31 27 24 15 23 15 23 24 17 7 16 21 29 16 12 16 14 14 29 24 19 29 17 16 29 22 20 23 13 15 25 21 22 27 21 13 24 29 19 16 15 19 21 25 21 20 29 14 14 17 23 10 17 27
result:
ok 100 lines
Test #2:
score: 5
Accepted
time: 0ms
memory: 3804kb
input:
100 10 5 3 5 4 7 5 9 9 6 5 10 2 7 7 6 10 10 0 7 9 6 10 5 6 8 5 10 4 6 5 10 7 10 5 5 6 2 10 8 7 5 0 1 10 5 5 7 5 8 9 9 8 5 10 10 3 3 9 1 9 4 6 4 3 5 10 5 2 9 9 6 5 2 5 7 3 5 5 1 1 1 1 9 4 6 5 6 6 5 0 1 7 10 5 6 6 8 8 5 7 0 0 0 10 3 6 9 7 6 3 10 7 9 0 10 5 6 8 6 6 5 1 7 8 9 10 10 5 5 5 3 10 7 6 4 2 10...
output:
19 36 14 29 21 24 13 6 18 37 16 21 17 16 24 14 25 27 21 21 19 18 24 37 16 17 19 21 31 19 16 29 20 29 17 24 12 21 27 27 18 36 20 16 21 12 21 21 15 20 15 27 12 37 25 29 25 24 23 27 16 13 29 19 16 31 16 17 24 27 29 24 18 23 31 31 17 14 12 16 29 29 13 27 10 29 36 13 16 22 12 21 12 29 16 16 19 29 17 29
result:
ok 100 lines
Test #3:
score: 5
Accepted
time: 0ms
memory: 4092kb
input:
100 10 6 3 4 6 10 6 7 10 10 9 10 3 6 6 5 9 2 9 7 8 9 10 5 8 7 9 8 3 1 8 1 9 10 6 6 4 5 4 8 6 8 5 7 10 3 6 4 8 6 6 9 9 8 5 10 4 7 10 8 6 902932233 9 8 7 6 10 6 5 8 9 5 9 9 6 5 5 10 5 8 7 9 8 5 4 4 6 10 10 4 5 5 2 7 5 6 4 5 1 10 5 6 5 9 6 5 8 5 3 4 10 4 7 8 10 8 6 7 5 5 4 10 5 3 3 10 3 4 2 6 6 4 10 5 ...
output:
25 24 22 25 29 21 19 21 29 16 25 19 21 25 20 17 29 21 16 24 11 21 16 24 29 31 14 27 21 19 19 21 37 27 16 28 37 27 24 25 29 28 25 20 29 11 15 23 21 17 13 25 25 10 15 31 17 31 37 21 17 21 37 23 23 17 24 12 16 20 21 10 23 25 31 21 19 25 27 16 27 24 16 24 13 13 21 13 29 18 25 31 22 31 28 28 36 23 29 19
result:
ok 100 lines
Subtask #2:
score: 20
Accepted
Dependency #1:
100%
Accepted
Test #4:
score: 20
Accepted
time: 0ms
memory: 3804kb
input:
100 10 1 3 1 0 2 2 4 0 1 2 10 3 4 3 5 1 5 4 1 4 5 10 4 5 1 1 2 1 3 2 3 2 10 3 0 3 5 1 0 1 4 5 1 10 1 2 2 2 1 0 1 4 2 0 10 0 3 4 5 5 5 4 2 1 4 10 5 0 0 2 5 4 1 5 3 5 10 5 1 2 2 4 5 1 5 4 3 10 5 3 4 2 1 1 1 1 2 5 10 5 1 4 1 2 1 1 2 2 2 10 1 3 4 2 4 1 4 4 1 2 10 1 0 1 3 0 0 3 3 3 1 10 1 4 0 3 4 0 5 4 0...
output:
23 12 14 9 13 17 13 18 24 18 24 22 12 9 13 16 24 31 17 16 16 21 18 24 25 18 24 21 23 10 29 18 14 36 25 31 29 20 29 21 22 28 9 20 24 12 14 15 10 25 16 14 17 15 29 28 25 17 28 22 12 19 16 12 14 25 13 17 17 16 24 13 18 25 19 16 27 12 14 25 16 28 15 9 10 16 29 25 21 22 12 14 10 21 12 16 9 29 27 25
result:
ok 100 lines
Test #5:
score: 20
Accepted
time: 0ms
memory: 3800kb
input:
100 10 1 1 1 1 0 0 0 0 0 1 10 1 0 0 3 1 2 5 2 3 4 10 1 0 3 1 0 2 5 5 1 4 10 1 0 0 3 2 5 3 3 5 2 10 1 0 3 0 2 1 2 0 3 4 10 1 0 3 3 2 5 4 4 3 3 10 1 1 0 3 0 1 5 2 7 2 10 1 0 3 0 2 1 5 2 1 2 10 1 1 1 0 0 3 0 2 1 0 10 1 0 3 2 5 4 0 2 4 4 10 1 0 1 1 2 1 1 3 1 2 10 1 0 0 0 1 0 0 5 1 1 10 1 0 0 0 3 1 0 1 3...
output:
29 12 18 14 8 16 10 12 11 17 22 13 22 22 8 21 22 8 14 6 17 10 10 13 14 9 21 9 6 28 16 6 8 8 14 9 16 16 9 6 8 8 14 16 13 8 16 8 9 12 9 22 22 21 16 14 13 22 13 13 17 8 10 16 10 8 9 8 6 10 12 13 6 6 13 12 8 8 21 22 16 9 13 13 16 13 24 24 36 16 18 8 21 16 6 13 8 14 8 7
result:
ok 100 lines
Test #6:
score: 20
Accepted
time: 1ms
memory: 3828kb
input:
60 82 5 6 9 8 10 12 8 7 6 5 29 55 5 4 5 10 13 16 14 13 13 16 17 13 16 9 10 12 10 9 8 5 7 3 4 8 6 8 5 60 27 42 5 8 9 7 8 3 72 42 5 6 9 10 11 9 6 8 6 7 9 9 6 8 6 6 8 5 27 18 14 37 4 6 6 7 5 6 24 58 80 54 86 1 6 9 8 10 9 7 9 6 6 9 7 8 6 6 1 64 55 31 64 38 11 80 5 6 9 10 13 11 4 10 9 12 17 17 14 12 16 1...
output:
661 425 776 940 840 1052 439 732 634 1171 728 592 938 1003 636 730 1032 1018 985 893 646 489 650 638 927 626 1192 1442 673 1131 879 760 1086 1079 386 1022 758 1282 648 1019 892 398 1219 585 1054 564 694 1189 1039 931 1310 754 436 525 970 1040 490 584 946 710
result:
ok 60 lines
Test #7:
score: 20
Accepted
time: 1ms
memory: 3868kb
input:
100 56 5 6 9 5 7 10 13 6 12 14 16 9 12 9 7 8 8 9 6 6 6 6 5 9 4 5 8 5 6 3 12 11 14 15 17 14 11 13 13 8 7 6 6 7 8 8 5 6 6 9 7 8 5 18 28 18 42 1 8 9 8 11 13 12 9 8 6 2 8 6 8 6 5 5 6 7 12 11 14 6 7 10 7 9 10 12 9 6 6 6 4 8 5 5 35 4 6 21 10 47 5 6 9 6 10 12 13 11 10 5 9 10 6 9 7 7 9 9 8 4 5 12 7 9 4 9 8 ...
output:
213 304 316 275 636 142 200 283 416 298 265 546 136 341 286 226 194 312 454 138 455 285 205 395 169 451 385 417 295 372 349 256 423 256 473 304 275 531 186 451 580 295 315 372 255 268 294 205 194 394 436 300 409 243 264 247 344 567 355 253 271 383 256 446 289 371 234 404 340 271 402 269 246 236 1794...
result:
ok 100 lines
Test #8:
score: 20
Accepted
time: 1ms
memory: 3888kb
input:
100 45 3 8 7 12 13 14 17 12 21 21 8 17 12 14 12 14 17 13 14 13 12 8 10 10 8 12 12 9 9 7 8 8 6 8 9 9 8 6 8 5 44 34 18 3 5 53 5 8 7 4 11 5 8 10 10 5 9 10 10 9 9 10 11 13 8 9 9 9 9 5 4 6 7 10 13 13 8 8 12 7 6 4 7 7 8 5 11 0 6 7 6 10 7 7 7 6 12 36 14 34 5 8 8 6 6 5 32 11 31 8 3 6 8 8 9 9 7 9 6 8 6 5 19 ...
output:
193 494 214 357 236 454 377 267 349 381 480 433 287 517 280 162 448 499 245 583 299 274 339 196 271 872 394 247 370 354 284 257 305 585 310 696 528 354 349 547 114 328 246 235 405 424 340 341 386 340 446 220 281 252 131 260 356 197 207 546 246 321 332 333 1562 392 383 277 141 331 458 383 254 104 277...
result:
ok 100 lines
Test #9:
score: 20
Accepted
time: 0ms
memory: 3844kb
input:
100 50 5 5 9 0 6 6 8 6 7 1 8 6 4 6 2 1 8 9 9 1 6 9 0 9 5 5 2 4 1 4 7 7 4 8 3 6 2 2 1 10 4 6 5 9 8 5 2 7 8 10 50 9 6 1 2 6 2 5 0 7 7 9 2 9 2 4 8 6 10 9 7 3 0 3 7 6 10 1 2 2 9 4 8 10 0 6 5 9 7 7 4 5 6 1 4 7 9 1 9 8 6 50 6 8 3 10 7 9 1 9 9 10 10 8 6 1 7 1 0 0 6 0 4 1 8 9 8 8 4 1 0 6 4 8 10 10 5 1 9 5 7...
output:
158 163 156 123 319 180 187 183 230 151 515 303 111 335 249 79 146 192 158 145 121 125 169 175 126 158 127 164 115 304 200 413 154 251 157 187 249 221 106 124 200 133 173 122 191 309 406 162 181 241 115 176 114 292 97 128 157 188 99 202 191 143 146 141 175 186 169 179 147 142 170 158 189 117 183 219...
result:
ok 100 lines
Test #10:
score: 20
Accepted
time: 1ms
memory: 3808kb
input:
100 50 6 16 19 1 20 0 3 13 5 18 19 15 5 17 0 15 14 0 19 1 12 0 4 6 11 13 16 1 11 12 15 1 11 12 7 8 18 1 6 20 16 1 11 9 16 20 5 5 10 11 50 6 15 15 5 1 4 19 0 3 5 6 12 12 2 4 10 16 4 9 8 13 14 19 16 20 12 1 11 0 1 4 9 6 16 19 9 10 15 18 13 14 10 6 13 18 19 5 14 2 17 50 8 4 4 19 0 7 1 11 8 18 16 3 9 13...
output:
169 116 123 228 159 264 271 284 205 278 149 183 245 276 93 179 265 271 156 128 327 152 221 119 86 126 166 262 217 296 160 168 179 147 151 141 374 197 288 171 693 240 167 234 144 171 251 255 171 197 294 182 202 142 439 173 133 163 115 102 256 172 151 320 183 123 217 214 300 118 139 248 92 225 134 115...
result:
ok 100 lines
Test #11:
score: 20
Accepted
time: 1ms
memory: 3800kb
input:
100 50 51 24 2 38 28 31 51 54 50 31 80 52 34 48 29 22 61 79 0 0 70 68 80 1 75 37 52 49 50 22 36 5 19 91 9 15 64 27 77 29 32 19 72 85 70 42 37 65 48 15 50 76 88 7 46 55 87 61 25 11 14 1 26 83 41 58 32 49 41 9 9 59 35 51 19 50 32 49 57 78 20 19 53 49 60 29 28 17 27 77 80 12 30 46 89 88 18 100 63 40 84...
output:
201 222 211 110 292 371 227 184 239 223 248 293 185 172 175 419 219 185 282 286 234 505 199 126 274 239 274 236 208 223 190 306 303 270 251 397 269 275 280 226 325 262 377 285 223 266 326 286 257 171 406 257 262 394 342 268 187 203 374 169 310 276 248 148 494 136 248 242 182 341 201 279 233 280 362 ...
result:
ok 100 lines
Test #12:
score: 20
Accepted
time: 1ms
memory: 3752kb
input:
100 50 1 0 0 1 2 0 1 1 5 0 7 2 7 0 3 6 7 6 5 5 12 5 17 8 17 4 3 13 4 2 16 16 13 8 14 6 22 17 19 20 16 19 0 11 22 28 25 4 33 10 50 1 0 0 3 0 1 0 1 7 7 5 7 2 7 6 3 0 8 8 13 5 1 3 0 5 7 0 17 7 2 0 6 16 11 5 6 15 14 2 11 11 18 19 16 5 18 22 3 11 20 50 1 0 3 2 1 3 3 0 7 4 4 0 1 2 11 6 9 8 9 7 14 17 2 16 ...
output:
150 177 114 65 109 150 113 74 96 84 166 138 135 108 108 216 114 116 108 269 113 103 108 162 213 118 115 139 117 106 138 99 117 54 98 95 192 83 127 114 82 154 92 168 118 124 119 110 133 131 162 152 173 75 117 173 114 156 165 69 158 152 122 123 124 168 115 131 94 125 104 175 60 107 124 140 109 128 124...
result:
ok 100 lines
Test #13:
score: 20
Accepted
time: 1ms
memory: 3804kb
input:
100 50 1 1 0 3 0 3 2 5 2 7 9 5 1 6 0 9 1 6 11 0 3 3 0 13 4 11 16 19 14 9 12 5 20 1 16 6 18 19 4 23 8 0 1 3 30 6 30 31 6 2 50 1 1 0 3 3 1 0 0 5 3 2 2 4 1 1 0 3 6 6 9 8 1 0 7 9 3 12 5 0 15 14 2 4 1 13 19 3 12 18 6 21 20 13 17 9 18 15 11 10 10 50 1 1 0 0 1 0 5 2 1 6 1 0 11 4 2 8 8 3 1 3 3 0 0 3 5 3 5 2...
output:
76 137 198 119 192 106 105 116 157 75 91 119 98 118 100 86 124 160 323 115 163 138 115 114 75 69 143 200 121 92 98 104 93 85 161 111 208 156 139 90 93 191 111 115 190 150 133 97 152 65 82 131 99 310 74 90 108 71 104 99 181 118 96 137 97 114 88 113 91 128 143 111 81 110 130 190 111 149 171 239 96 133...
result:
ok 100 lines
Subtask #3:
score: 20
Accepted
Dependency #2:
100%
Accepted
Test #14:
score: 20
Accepted
time: 5ms
memory: 3880kb
input:
5 813 5 6 5 12 11 14 17 15 14 12 17 18 20 9 16 14 14 12 16 11 13 16 13 14 21 14 21 17 19 21 22 20 14 19 19 21 16 10 10 15 14 12 17 17 10 10 15 17 15 16 16 13 17 13 15 15 14 12 8 10 16 11 13 2 17 16 18 12 18 17 9 17 15 17 14 9 13 14 15 6 21 20 12 17 19 18 22 9 20 14 19 19 20 20 20 15 17 10 19 20 22 2...
output:
45945 52622 33362 60292 50040
result:
ok 5 lines
Test #15:
score: 20
Accepted
time: 3ms
memory: 4132kb
input:
10 420 6 7 10 11 10 7 12 16 15 14 12 9 13 12 12 12 7 11 11 10 6 10 8 4 5 5 10 7 14 13 13 15 16 18 16 12 16 19 16 20 15 11 15 14 15 10 12 9 14 11 17 13 17 14 15 15 15 11 13 12 10 15 14 9 20 16 22 23 20 19 26 27 23 28 17 22 23 5 20 27 17 22 21 18 17 17 18 17 21 16 19 17 22 14 13 13 15 16 16 19 19 19 1...
output:
11572 15453 21201 10334 19626 9374 28098 22868 16940 15128
result:
ok 10 lines
Test #16:
score: 20
Accepted
time: 5ms
memory: 3868kb
input:
5 794 5 8 5 10 10 10 11 14 11 11 16 11 13 14 17 12 11 14 20 22 25 20 29 22 33 32 36 29 25 17 22 23 23 24 27 31 25 32 30 13 32 24 31 22 21 15 28 33 14 30 13 20 37 27 32 34 29 35 28 19 31 21 25 29 32 23 29 32 20 13 24 26 28 25 25 21 24 19 14 16 21 18 21 19 16 20 25 22 16 23 15 19 17 25 12 21 12 12 17 ...
output:
22135 20170 24359 17619 10934
result:
ok 5 lines
Test #17:
score: 20
Accepted
time: 5ms
memory: 3844kb
input:
5 822 5 6 7 10 9 14 16 12 12 9 13 13 10 10 13 12 8 11 11 9 7 13 11 13 11 9 12 10 10 10 9 11 10 10 10 10 9 11 10 12 12 10 8 10 10 12 8 4 8 12 10 12 10 10 6 10 12 9 9 10 13 11 13 12 14 14 16 12 14 11 11 8 12 9 13 12 16 13 9 13 13 9 9 11 10 10 13 13 9 9 11 13 2 10 13 11 10 10 12 10 10 12 6 6 8 8 12 12 ...
output:
119864 88745 92989 84487 131242
result:
ok 5 lines
Test #18:
score: 20
Accepted
time: 3ms
memory: 3844kb
input:
5 1000 8 7 7 8 4 6 4 8 0 1 2 4 7 7 0 9 6 0 7 2 6 1 2 3 3 2 10 6 4 2 0 9 4 4 4 10 3 9 0 10 9 2 8 4 6 8 8 7 6 5 6 6 2 1 2 5 0 8 5 6 8 5 6 7 8 8 4 0 2 2 10 7 5 8 10 10 1 2 10 0 10 1 0 6 1 4 8 5 3 10 5 2 7 7 3 7 6 4 7 7 6 2 2 7 9 4 0 3 9 9 7 9 1 0 9 5 2 0 5 6 7 9 3 7 10 3 3 4 7 4 1 10 10 3 6 2 7 2 10 2 ...
output:
4938 4643 4300 5856 4587
result:
ok 5 lines
Test #19:
score: 20
Accepted
time: 3ms
memory: 4140kb
input:
5 1000 39 7 9 7 33 2 22 4 31 49 19 27 22 39 17 5 50 13 9 23 1 40 37 8 7 3 7 29 1 47 29 35 20 10 19 17 17 4 27 18 24 45 13 43 16 15 10 50 10 22 46 36 31 13 41 29 44 47 41 35 9 36 39 33 37 28 9 37 8 40 32 49 32 2 18 32 11 21 38 46 2 26 11 42 43 10 17 29 34 26 30 28 21 36 43 29 7 45 28 33 44 18 14 47 1...
output:
7846 12495 7596 8102 7248
result:
ok 5 lines
Test #20:
score: 20
Accepted
time: 5ms
memory: 4140kb
input:
5 1000 45 62 187 29 174 21 130 154 4 2 133 173 160 74 11 155 195 116 129 125 94 8 34 52 148 57 189 137 140 62 192 152 0 14 5 117 65 198 92 180 149 181 162 83 61 128 105 17 182 61 171 35 159 2 49 32 34 82 84 173 134 13 5 63 189 192 199 60 156 167 10 152 52 113 51 86 72 114 105 181 18 67 194 7 168 192...
output:
10321 10866 12170 17957 8834
result:
ok 5 lines
Test #21:
score: 20
Accepted
time: 4ms
memory: 4144kb
input:
5 1000 1 0 3 1 2 5 1 3 0 5 1 7 3 4 1 0 7 7 10 13 11 12 3 15 9 2 7 15 14 11 17 14 19 20 1 6 5 8 25 22 23 5 14 5 12 19 28 4 20 29 24 11 32 30 11 10 7 40 27 30 33 16 39 18 39 11 26 29 7 50 21 21 10 55 19 43 18 2 48 30 31 5 52 43 10 9 31 49 6 10 37 54 5 32 50 48 39 44 30 19 52 29 40 60 24 50 50 57 15 5 ...
output:
7211 7471 9895 6909 8115
result:
ok 5 lines
Test #22:
score: 20
Accepted
time: 2ms
memory: 3864kb
input:
5 1000 1 1 0 3 1 0 3 5 3 3 5 1 3 1 3 3 4 1 2 6 1 2 8 1 6 4 8 9 12 13 7 10 2 12 5 14 1 9 10 21 12 3 22 5 14 17 21 27 26 19 11 14 22 11 24 11 6 12 33 26 17 20 37 30 32 21 25 24 23 32 5 44 38 37 16 6 27 18 43 10 32 44 37 42 1 44 4 53 53 12 55 31 18 3 26 3 51 43 1 12 11 6 53 57 43 8 27 10 56 30 61 22 62...
output:
6604 9020 8182 5951 6195
result:
ok 5 lines
Subtask #4:
score: 0
Time Limit Exceeded
Dependency #3:
100%
Accepted
Test #23:
score: 0
Time Limit Exceeded
input:
1 100000 4 7 8 11 6 10 8 8 12 10 8 14 14 14 12 10 8 14 12 14 12 12 14 14 14 8 12 4 4 14 12 14 8 10 12 12 14 10 6 6 12 8 12 10 8 12 12 12 6 8 12 14 10 6 12 8 12 14 8 10 10 8 14 14 14 10 4 10 14 12 10 10 10 12 14 14 12 14 14 14 14 12 5 9 12 14 12 14 12 12 14 10 14 14 10 14 10 14 12 12 8 12 8 10 14 14 ...
output:
result:
Subtask #5:
score: 0
Skipped
Dependency #4:
0%