QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#768402 | #9465. 基础 01 练习题 | peaneval_kala | 35 | 484ms | 332756kb | C++23 | 13.4kb | 2024-11-21 10:09:34 | 2024-11-21 10:09:36 |
Judging History
answer
#pragma GCC optimize(3, "unroll-loops", "no-stack-protector")
#define atsum(l, r) accumulate(l, r, 0)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/hash_policy.hpp>
using namespace std;
using ll = long long;
using ull = unsigned long long;
constexpr int inf = 0x3f3f3f3f;
constexpr ll INF = 0x3f3f3f3f3f3f3f3f;
template <typename T>
inline void chkmin(T &x, T y) { x = min(x, y); }
template <typename T>
inline void chkmax(T &x, T y) { x = max(x, y); }
namespace FastIO
{
// ------------------------------
#define IN_HAS_NEG
#define OUT_HAS_NEG
#define CHK_EOF
#define DISABLE_MMAP
// ------------------------------
#if __cplusplus < 201400
#error Please use C++14 or higher.
#endif
#if __cplusplus > 201700
#define INLINE_V inline
#else
#define INLINE_V
#endif
#if ( defined(LOCAL) || defined (_WIN32) ) && !defined(DISABLE_MMAP)
#define DISABLE_MMAP
#endif
#ifndef DISABLE_MMAP
#include<sys/mman.h>
#endif
#ifdef LOCAL
inline char gc() { return getchar(); }
inline void pc(char c) { putchar(c); }
#else
#ifdef DISABLE_MMAP
INLINE_V constexpr int _READ_SIZE = 1 << 18;
INLINE_V static char _read_buffer[_READ_SIZE], *_read_ptr = nullptr, *_read_ptr_end = nullptr;
inline char gc()
{
if ( __builtin_expect(_read_ptr == _read_ptr_end, false) )
{
_read_ptr = _read_buffer;
_read_ptr_end = _read_buffer + fread(_read_buffer, 1, _READ_SIZE, stdin);
#ifdef CHK_EOF
if ( __builtin_expect(_read_ptr == _read_ptr_end, false) ) return EOF;
#endif
}
return *_read_ptr++;
}
#else
INLINE_V static const char *_read_ptr = (const char *)mmap(nullptr, INT_MAX, 1, 2, 0, 0);
inline char gc() { return *_read_ptr++; }
#endif
INLINE_V constexpr int _WRITE_SIZE = 1 << 18;
INLINE_V static char _write_buffer[_WRITE_SIZE], *_write_ptr = _write_buffer;
inline void pc(char c)
{
*_write_ptr++ = c;
if ( __builtin_expect(_write_buffer + _WRITE_SIZE == _write_ptr, false) )
{
fwrite(_write_buffer, 1, _write_ptr - _write_buffer, stdout);
_write_ptr = _write_buffer;
}
}
INLINE_V struct _auto_flush
{
~_auto_flush() { fwrite(_write_buffer, 1, _write_ptr - _write_buffer, stdout); }
} _auto_flush;
#endif
#ifdef CHK_EOF
inline bool _isdigit(char c) { return ( c & 16 ) && c != EOF; }
inline bool _isgraph(char c) { return c > 32 && c != EOF; }
#else
inline bool _isdigit(char c) { return c & 16; }
inline bool _isgraph(char c) { return c > 32; }
#endif
template < class T >
INLINE_V constexpr bool _is_integer = numeric_limits < T >::is_integer;
template < class T >
INLINE_V constexpr bool _is_signed = numeric_limits < T >::is_signed;
template < class T >
INLINE_V constexpr bool _is_unsigned = _is_integer < T > && !_is_signed < T >;
template <> INLINE_V constexpr bool _is_integer < __int128 > = true;
template <> INLINE_V constexpr bool _is_integer < __uint128_t > = true;
template <> INLINE_V constexpr bool _is_signed < __int128 > = true;
template <> INLINE_V constexpr bool _is_unsigned < __uint128_t > = true;
#undef INLINE_V
inline void read(char &c) { do c = gc(); while ( !_isgraph(c) ); }
inline void read_cstr(char *s)
{
char c = gc(); while ( !_isgraph(c) ) c = gc();
while ( _isgraph(c) ) *s++ = c, c = gc();
*s = 0;
}
inline void read(string &s)
{
char c = gc(); s.clear(); while ( !_isgraph(c) ) c = gc();
while ( _isgraph(c) ) s.push_back(c), c = gc();
}
#ifdef IN_HAS_NEG
template < class T, enable_if_t < _is_signed < T >, int > = 0 >
inline void read(T &x)
{
char c = gc(); bool f = true; x = 0;
while ( !_isdigit(c) ) { if ( c == 45 ) f = false; c = gc(); }
if ( f ) while ( _isdigit(c) ) x = x * 10 + ( c & 15 ), c = gc();
else while ( _isdigit(c) ) x = x * 10 - ( c & 15 ), c = gc();
}
template < class T, enable_if_t < _is_unsigned < T >, int > = 0 >
#else
template < class T, enable_if_t < _is_integer < T >, int > = 0 >
#endif
inline void read(T &x)
{
char c = gc(); while ( !_isdigit(c) ) c = gc();
x = 0; while ( _isdigit(c) ) x = x * 10 + ( c & 15 ), c = gc();
}
inline void write(char c) { pc(c); }
inline void write_cstr(const char *s) { while ( *s ) pc(*s++); }
inline void write(const string &s) { for ( char c : s ) pc(c); }
#ifdef OUT_HAS_NEG
template < class T, enable_if_t < _is_signed < T >, int > = 0 >
inline void write(T x)
{
char buffer[numeric_limits < T >::digits10 + 1]; int digits = 0;
if ( x >= 0 ) do buffer[digits++] = ( x % 10 ) | 48, x /= 10; while ( x );
else { pc(45); do buffer[digits++] = -( x % 10 ) | 48, x /= 10; while ( x ); }
while ( digits ) pc(buffer[--digits]);
}
template < class T, enable_if_t < _is_unsigned < T >, int > = 0 >
#else
template < class T, enable_if_t < _is_integer < T >, int > = 0 >
#endif
inline void write(T x)
{
char buffer[numeric_limits < T >::digits10 + 1]; int digits = 0;
do buffer[digits++] = ( x % 10 ) | 48, x /= 10; while ( x );
while ( digits ) pc(buffer[--digits]);
}
template < int N > struct _tuple_io_helper
{
template < class ...T >
static inline void _read(tuple < T... > &x)
{ _tuple_io_helper < N - 1 >::_read(x), read(get < N - 1 > (x)); }
template < class ...T >
static inline void _write(const tuple < T... > &x)
{ _tuple_io_helper < N - 1 >::_write(x), pc(32), write(get < N - 1 > (x)); }
};
template <> struct _tuple_io_helper < 1 >
{
template < class ...T >
static inline void _read(tuple < T... > &x) { read(get < 0 > (x)); }
template < class ...T >
static inline void _write(const tuple < T... > &x) { write(get < 0 > (x)); }
};
template < class ...T >
inline void read(tuple < T... > &x) { _tuple_io_helper < sizeof...(T) >::_read(x); }
template < class ...T >
inline void write(const tuple < T... > &x) { _tuple_io_helper < sizeof...(T) >::_write(x); }
template < class T1, class T2 >
inline void read(pair < T1, T2 > &x) { read(x.first), read(x.second); }
template < class T1, class T2 >
inline void write(const pair < T1, T2 > &x) { write(x.first), pc(32), write(x.second); }
template < class T1, class ...T2 >
inline void read(T1 &x, T2 &...y) { read(x), read(y...); }
template < class ...T >
inline void read_cstr(char *x, T *...y) { read_cstr(x), read_cstr(y...); }
template < class T1, class ...T2 >
inline void write(const T1 &x, const T2 &...y) { write(x), write(y...); }
template < class ...T >
inline void write_cstr(const char *x, const T *...y) { write_cstr(x), write_cstr(y...); }
template < class T >
inline void print(const T &x) { write(x); }
inline void print_cstr(const char *x) { write_cstr(x); }
template < class T1, class ...T2 >
inline void print(const T1 &x, const T2 &...y) { print(x), pc(32), print(y...); }
template < class ...T >
inline void print_cstr(const char *x, const T *...y) { print_cstr(x), pc(32), print_cstr(y...); }
inline void println() { pc(10); }
inline void println_cstr() { pc(10); }
template < class ...T >
inline void println(const T &...x) { print(x...), pc(10); }
template < class ...T >
inline void println_cstr(const T *...x) { print_cstr(x...), pc(10); }
}
using namespace FastIO;
template <typename T>
inline void clear(T &x) {
T y;
swap(x, y);
}
const int N = 2e5 + 50, C = 5005;
const __int128_t P = 999999999999999989;
__int128_t h1[N], hlen[N];
bool o1;
namespace Seg1{
struct Node{
int tag, l, r;
ll h;
} w[N * 160];
#define lc(u) w[u].l
#define rc(u) w[u].r
int cnt;
inline void pushup(int u, int len, int rlen) {
w[u].h = (w[lc(u)].h + __int128(w[rc(u)].h) * hlen[rlen]) % P;
if (w[u].tag) w[u].h = (h1[len] - w[u].h + P) % P;
}
inline int update(int v, int L, int R, int l, int r) {
if (L > r || R < l) return v;
int u = ++cnt;
w[u] = w[v];
if (L >= l && R <= r) {
w[u].tag ^= 1, w[u].h = (h1[R - L + 1] - w[u].h + P) % P;
return u;
}
int M = L + R >> 1;
lc(u) = update(lc(v), L, M, l, r);
rc(u) = update(rc(v), M + 1, R, l, r);
pushup(u, R - L + 1, M - L + 1);
return u;
}
inline int query(int u, int L, int R, int x) {
if (!u) return 0;
if (L == R) return w[u].tag;
int M = L + R >> 1;
if (x <= M) return w[u].tag ^ query(lc(u), L, M, x);
return w[u].tag ^ query(rc(u), M + 1, R, x);
}
inline __int128_t calc(__int128_t c, int len, int type) {
if (type) return (h1[len] - c + P) % P;
return c;
}
inline int diffpos(int u, int v, int L, int R, int tu, int tv) {
// cerr << "find youmo:" << u << ' ' << v << ' ' << L << ' ' << R << ' ' << endl;
// sleep(1);
if (L == R) return L;
tu ^= w[u].tag, tv ^= w[v].tag;
int M = L + R >> 1;
if (calc(w[lc(u)].h, M - L + 1, tu) == calc(w[lc(v)].h, M - L + 1, tv)) return diffpos(rc(u), rc(v), M + 1, R, tu, tv);
return diffpos(lc(u), lc(v), L, M, tu, tv);
}
};
int id[N], fa[N], mn[N], mx[N], pos[N];
namespace Seg2{
int mn0[N << 2], mn1[N << 2], mx0[N << 2], mx1[N << 2];
bool rev[N << 2];
inline void pushup(int u) {
mn0[u] = min(mn0[u << 1], mn0[u << 1 | 1]);
mn1[u] = min(mn1[u << 1], mn1[u << 1 | 1]);
mx0[u] = max(mx0[u << 1], mx0[u << 1 | 1]);
mx1[u] = max(mx1[u << 1], mx1[u << 1 | 1]);
if (rev[u]) swap(mn0[u], mn1[u]), swap(mx0[u], mx1[u]);
}
void build(int u, int L, int R) {
if (L == R) {
mn0[u] = mx0[u] = pos[L];
mn1[u] = inf, mx1[u] = 0;
return;
}
int M = L + R >> 1;
build(u << 1, L, M);
build(u << 1 | 1, M + 1, R);
pushup(u);
}
inline void update(int u, int L, int R, int l, int r) {
if (L >= l && R <= r) return rev[u] ^= 1, swap(mn0[u], mn1[u]), swap(mx0[u], mx1[u]);
if (L > r || R < l) return;
int M = L + R >> 1;
update(u << 1, L, M, l, r);
update(u << 1 | 1, M + 1, R, l, r);
pushup(u);
}
};
int n, q, type, siz[N], g[N], root[N];
inline int find(int u) { return fa[u] == u ? u : (fa[u] = find(fa[u])); }
priority_queue<int> oc[N];
inline void merge(int u, int v) {
u = find(u), v = find(v);
if (u == v) return;
fa[u] = v, chkmin(mn[v], mn[u]), chkmax(mx[v], mx[u]), siz[v] += siz[u];
if (oc[v].size() < oc[u].size()) swap(oc[u], oc[v]);
while (oc[u].size()) oc[v].push(oc[u].top()), oc[u].pop();
g[v] += g[u];
}
vector<pair<int, int> > upd[N];
vector<pair<int, int> > upd2[N];
int res[N];
bool o2;
int main() {
cerr << (&o2 - &o1) / 1048576. << endl;
// freopen("in", "r", stdin);
// freopen("out", "w", stdout);
read(n, q, type);
// assert(type == 0);
hlen[0] = 1;
for (int i = 1; i <= n; i++) h1[i] = (h1[i - 1] * 2 + 1) % P, hlen[i] = hlen[i - 1] * 2 % P;
for (int i = 1; i <= n; i++) siz[i] = 1, fa[i] = i, mn[i] = mx[i] = i;
while (q--) {
int x1, x2, y1, y2;
read(x1, x2, y1, y2), ++x2, ++y2;
upd[x1].emplace_back(y1, y2 - 1);
upd[x2].emplace_back(y1, y2 - 1);
upd2[y1].emplace_back(x1, x2 - 1);
upd2[y2].emplace_back(x1, x2 - 1);
}
for (int i = 1; i <= n; i++) {
root[i] = root[i - 1];
for (auto [l, r] : upd[i]) root[i] = Seg1::update(root[i], 1, n, l, r);
}
// cerr << "to there:" << endl;
for (int i = 1; i <= n; i++) id[i] = i;
sort(id + 1, id + n + 1,[&](int x, int y) {
if (Seg1::w[root[x]].h == Seg1::w[root[y]].h) return false;
int c = Seg1::diffpos(root[x], root[y], 1, n, 0, 0);
return Seg1::query(root[x], 1, n, c) < Seg1::query(root[y], 1 ,n, c);
});
for (int i = 1; i <= n; i++) pos[id[i]] = i;
// cerr << "after sort:" << endl;
Seg2::build(1, 1, n);
for (int i = 1; i <= n; i++) {
for (auto [l, r] : upd2[i]) Seg2::update(1, 1, n, l, r);
int l = Seg2::mn1[1], r = Seg2::mx0[1];
// for (int j = 1; j <= n; j++)
// if (str[id[j]][i] == '1') chkmin(l, j);
// else chkmax(r, j);
// cerr << "find youmo:" << l << ' ' << r << endl;
if (l <= r) {
for (int c = l; c <= r; c++) merge(l, c);
int c = find(l);
++g[c];
while (oc[c].size() && oc[c].top() >= mn[c]) ++g[c], oc[c].pop();
} else if (l != inf) {
if (find(l) == find(r)) ++g[find(l)];
else
oc[find(l)].push(r);
}
int sg = 0;
ll ans = 1ll * n * i;
// for (int i = 1; i <= n; i++) cerr << find(i) << ' ';
// cerr << endl;
for (int i = 1; i <= n; i++) if (find(i) == i ) {
ll len = 1ll * g[i] * (mx[i] - mn[i] + 1);
// cerr << "find len:" << len << ' ' << mx[i] << ' ' << mn[i] << endl;
sg += g[i];
ans -= max(len, 1ll);
++ans;
}
if (type == 1 || i == n) write(ans, ' ');
}
return 0;
}
/*
2 2 0
1 1 1 1
2 2 2 2
1 3
2 4
3 2
4 1
*/
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 0ms
memory: 28804kb
input:
4 1000 0 2 3 1 2 1 3 1 3 1 2 1 2 1 2 3 4 1 4 2 4 1 3 1 2 1 4 1 2 1 3 1 4 3 3 2 3 1 2 2 4 4 4 1 3 3 3 3 4 3 4 3 4 2 3 1 1 1 2 2 4 1 4 3 4 3 4 1 2 1 2 2 3 3 4 3 3 1 2 4 4 4 4 2 4 1 4 1 1 1 1 1 3 2 3 2 3 1 1 2 4 2 3 2 4 3 3 1 4 3 3 3 3 1 3 3 3 2 3 2 4 3 3 2 2 1 3 2 4 1 3 1 2 3 4 1 2 2 3 1 3 1 1 1 2 1 2...
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 5
Accepted
time: 3ms
memory: 28580kb
input:
4 1000 0 1 4 3 3 2 3 4 4 3 4 3 4 3 4 1 2 1 4 2 4 2 3 1 3 3 4 2 4 2 3 3 3 3 4 1 3 1 3 1 4 2 3 1 3 1 1 2 2 1 4 3 4 1 4 1 3 1 2 3 4 1 2 1 2 2 3 1 4 2 2 2 2 1 3 1 3 2 2 2 4 1 2 1 4 1 1 1 1 1 2 3 4 4 4 1 3 2 4 1 3 1 1 1 3 1 4 2 2 2 3 1 2 2 2 1 2 1 2 1 4 1 4 2 4 1 2 1 3 1 2 1 3 2 4 2 2 1 2 1 1 1 2 1 3 2 4...
output:
1
result:
ok 1 number(s): "1"
Test #3:
score: 5
Accepted
time: 0ms
memory: 28816kb
input:
4 1000 0 1 4 1 2 1 4 2 2 1 4 3 4 2 4 4 4 2 3 3 4 2 4 2 4 1 2 2 2 4 4 2 4 1 3 1 3 1 4 1 4 3 3 3 4 4 4 2 3 2 3 1 4 2 2 1 3 2 3 2 4 2 2 1 4 1 2 2 3 1 4 1 3 4 4 1 4 3 4 1 4 1 2 1 2 1 2 1 3 2 2 3 3 1 2 1 4 1 1 1 4 2 2 1 4 1 4 3 4 2 4 2 4 2 2 1 4 3 4 1 3 2 3 2 4 1 3 1 4 1 3 1 4 3 3 1 3 1 2 1 3 3 3 1 4 1 4...
output:
5
result:
ok 1 number(s): "5"
Subtask #2:
score: 10
Accepted
Test #4:
score: 10
Accepted
time: 116ms
memory: 142116kb
input:
50 200000 0 1 45 2 6 29 44 2 6 31 37 2 50 2 37 1 19 7 13 8 38 38 46 19 38 10 30 30 46 22 42 1 45 5 35 24 27 10 36 19 31 20 47 17 35 7 9 23 42 15 26 31 42 7 8 7 42 1 26 33 48 2 5 30 36 17 44 21 44 5 44 24 36 19 47 15 17 29 36 2 42 31 34 11 41 9 24 12 30 30 43 8 20 2 12 13 20 11 12 10 15 14 22 3 29 2 ...
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 10
Accepted
time: 0ms
memory: 28468kb
input:
50 70 0 1 50 1 50 24 50 1 1 50 50 2 2 34 50 3 3 36 50 4 4 32 50 5 5 18 50 6 6 12 50 7 7 6 50 8 8 28 50 9 9 38 50 10 10 4 50 11 11 26 50 12 12 14 50 13 13 46 50 14 14 2 50 15 15 8 50 16 16 44 50 17 17 10 50 18 18 30 50 19 19 22 50 20 20 48 50 21 21 20 50 22 22 42 50 23 23 40 50 24 24 16 50 25 25 16 5...
output:
2280
result:
ok 1 number(s): "2280"
Test #6:
score: 10
Accepted
time: 0ms
memory: 28456kb
input:
50 100 0 2 49 1 1 23 28 2 2 19 32 3 3 21 30 4 4 20 31 5 5 22 29 6 6 12 39 7 7 15 36 8 8 7 44 9 9 3 48 10 10 10 41 11 11 5 46 12 12 14 37 13 13 13 38 14 14 4 47 15 15 6 45 16 16 17 34 17 17 25 26 18 18 1 50 19 19 9 42 20 20 11 40 21 21 16 35 22 22 24 27 23 23 8 43 24 24 18 33 25 25 11 40 26 26 14 37 ...
output:
339
result:
ok 1 number(s): "339"
Test #7:
score: 10
Accepted
time: 4ms
memory: 30840kb
input:
50 500 0 1 2 1 14 3 4 1 3 5 6 1 12 7 8 1 9 9 10 1 15 11 12 1 11 13 14 1 13 15 16 1 17 17 18 1 16 19 20 1 20 21 22 1 2 23 24 1 10 25 26 1 4 27 28 1 8 29 30 1 19 31 32 1 21 33 34 1 24 35 36 1 23 37 38 1 6 39 40 1 18 41 42 1 25 43 44 1 5 45 46 1 22 47 48 1 1 49 50 1 7 35 36 26 26 41 42 26 26 27 28 27 2...
output:
51
result:
ok 1 number(s): "51"
Subtask #3:
score: 10
Accepted
Test #8:
score: 10
Accepted
time: 484ms
memory: 331564kb
input:
5000 200000 0 1438 2561 3478 4930 1740 4634 87 3003 590 3275 1376 1681 2035 2793 2004 4945 567 3159 550 4470 61 3039 3431 3519 2654 3834 3460 4960 591 3560 409 443 345 2599 746 2891 1288 4570 1577 4402 249 377 1951 4534 2411 2455 294 1192 1679 3153 1645 4259 1735 1856 601 668 477 4881 411 2094 424 1...
output:
1
result:
ok 1 number(s): "1"
Test #9:
score: 10
Accepted
time: 129ms
memory: 128244kb
input:
5000 200000 0 4336 5000 1 1 686 5000 2 2 3130 5000 3 3 672 5000 4 4 1664 5000 5 5 1480 5000 6 6 1326 5000 7 7 3726 5000 8 8 4170 5000 9 9 4794 5000 10 10 3374 5000 11 11 1836 5000 12 12 310 5000 13 13 2146 5000 14 14 3266 5000 15 15 820 5000 16 16 1152 5000 17 17 2876 5000 18 18 134 5000 19 19 828 5...
output:
24995
result:
ok 1 number(s): "24995"
Test #10:
score: 10
Accepted
time: 127ms
memory: 130084kb
input:
5000 200000 0 1410 5000 1 1 3340 5000 2 2 4202 5000 3 3 4450 5000 4 4 914 5000 5 5 4514 5000 6 6 4 5000 7 7 238 5000 8 8 3182 5000 9 9 3302 5000 10 10 2136 5000 11 11 1504 5000 12 12 3204 5000 13 13 2078 5000 14 14 4026 5000 15 15 3690 5000 16 16 4430 5000 17 17 1304 5000 18 18 2156 5000 19 19 4154 ...
output:
10000
result:
ok 1 number(s): "10000"
Test #11:
score: 10
Accepted
time: 147ms
memory: 160180kb
input:
5000 200000 0 1556 3445 1 1 1803 3198 2 2 790 4211 3 3 564 4437 4 4 1128 3873 5 5 129 4872 6 6 2062 2939 7 7 1480 3521 8 8 1252 3749 9 9 942 4059 10 10 111 4890 11 11 915 4086 12 12 1575 3426 13 13 2186 2815 14 14 392 4609 15 15 1689 3312 16 16 492 4509 17 17 866 4135 18 18 381 4620 19 19 92 4909 20...
output:
34989
result:
ok 1 number(s): "34989"
Test #12:
score: 10
Accepted
time: 245ms
memory: 197148kb
input:
5000 200000 0 1 1 2330 2671 2 2 789 4212 3 3 1593 3408 4 4 438 4563 5 5 2048 2953 6 6 491 4510 7 7 578 4423 8 8 770 4231 9 9 482 4519 10 10 395 4606 11 11 1960 3041 12 12 1289 3712 13 13 621 4380 14 14 2235 2766 15 15 916 4085 16 16 781 4220 17 17 1440 3561 18 18 902 4099 19 19 1998 3003 20 20 641 4...
output:
49977
result:
ok 1 number(s): "49977"
Test #13:
score: 10
Accepted
time: 384ms
memory: 284432kb
input:
5000 200000 0 1 661 1 2 1 1385 3 4 1 225 5 6 1 1833 7 8 1 58 9 10 1 2064 11 12 1 235 13 14 1 1918 15 16 1 2137 17 18 1 538 19 20 1 513 21 22 1 1405 23 24 1 1376 25 26 1 1711 27 28 1 165 29 30 1 209 31 32 1 68 33 34 1 1864 35 36 1 1455 37 38 1 425 39 40 1 669 41 42 1 2326 43 44 1 133 45 46 1 2257 47 ...
output:
5001
result:
ok 1 number(s): "5001"
Subtask #4:
score: 10
Accepted
Test #14:
score: 10
Accepted
time: 482ms
memory: 332756kb
input:
5000 200000 1 565 4401 1659 1826 429 1640 2999 3495 572 3994 9 3863 3844 4284 2307 3144 1054 1943 358 2592 727 4248 29 1171 1685 2392 4559 4929 1149 2787 1204 1947 2349 2619 405 998 1910 2786 25 1275 912 3475 4384 4387 3822 4895 1849 4548 3082 4749 3457 4220 3174 4885 117 1085 2517 3919 4325 4869 17...
output:
5000 5653 3715 1781 1031 823 540 185 190 71 56 61 66 71 76 81 86 91 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...
result:
ok 5000 numbers
Test #15:
score: 10
Accepted
time: 154ms
memory: 118648kb
input:
5000 200000 1 1 1 4840 5000 2 2 1690 5000 3 3 908 5000 4 4 1212 5000 5 5 2712 5000 6 6 3950 5000 7 7 4724 5000 8 8 3706 5000 9 9 1888 5000 10 10 4056 5000 11 11 1074 5000 12 12 3806 5000 13 13 3756 5000 14 14 2822 5000 15 15 1264 5000 16 16 4088 5000 17 17 796 5000 18 18 4888 5000 19 19 4610 5000 20...
output:
5000 9997 14997 19997 24997 29994 34974 39958 44944 49928 54902 59872 64858 69833 74833 79777 84760 89728 94710 99675 104675 109599 114578 119536 124492 129423 134374 139298 144270 149188 154130 159041 163948 168851 173814 178678 183638 188563 193522 198522 203288 208204 213158 218030 222898 227719 ...
result:
ok 5000 numbers
Test #16:
score: 10
Accepted
time: 130ms
memory: 128708kb
input:
5000 200000 1 4090 5000 1 1 3772 5000 2 2 3880 5000 3 3 1888 5000 4 4 2602 5000 5 5 4934 5000 6 6 4224 5000 7 7 226 5000 8 8 176 5000 9 9 2862 5000 10 10 224 5000 11 11 1204 5000 12 12 3202 5000 13 13 2726 5000 14 14 3468 5000 15 15 2134 5000 16 16 4392 5000 17 17 4814 5000 18 18 3748 5000 19 19 390...
output:
5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 55000 60000 65000 70000 75000 80000 85000 90000 95000 100000 105000 110000 115000 120000 125000 130000 135000 140000 145000 150000 155000 160000 165000 170000 175000 180000 185000 190000 195000 200000 205000 210000 215000 220000 225000 23000...
result:
ok 5000 numbers
Test #17:
score: 10
Accepted
time: 185ms
memory: 159684kb
input:
5000 200000 1 1443 3558 1 1 2025 2976 2 2 837 4164 3 3 2197 2804 4 4 1545 3456 5 5 2471 2530 6 6 764 4237 7 7 2462 2539 8 8 44 4957 9 9 2283 2718 10 10 742 4259 11 11 959 4042 12 12 1558 3443 13 13 1111 3890 14 14 2090 2911 15 15 687 4314 16 16 509 4492 17 17 1461 3540 18 18 2060 2941 19 19 2218 278...
output:
5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 55000 60000 65000 70000 75000 80000 85000 90000 95000 100000 105000 110000 115000 120000 125000 130000 135000 140000 145000 150000 155000 160000 165000 170000 175000 180000 185000 190000 195000 200000 205000 210000 215000 220000 225000 23000...
result:
ok 5000 numbers
Test #18:
score: 10
Accepted
time: 205ms
memory: 197456kb
input:
5000 200000 1 1 1 1194 3807 2 2 721 4280 3 3 471 4530 4 4 142 4859 5 5 1727 3274 6 6 1549 3452 7 7 551 4450 8 8 981 4020 9 9 1649 3352 10 10 2233 2768 11 11 980 4021 12 12 1498 3503 13 13 196 4805 14 14 381 4620 15 15 2085 2916 16 16 1559 3442 17 17 890 4111 18 18 1853 3148 19 19 527 4474 20 20 881 ...
output:
5000 10000 14973 19950 24950 29950 34950 39833 44833 49758 54691 59605 64557 69557 74557 79557 84557 89151 94065 98975 103975 108975 113975 118975 123975 128251 133251 138030 143030 147768 152768 157768 162768 167163 172009 177009 181653 186486 191486 196140 200961 205778 210591 215591 220205 225205...
result:
ok 5000 numbers
Test #19:
score: 10
Accepted
time: 409ms
memory: 291456kb
input:
5000 200000 1 1 2402 1 2 1 85 3 4 1 610 5 6 1 531 7 8 1 1258 9 10 1 2389 11 12 1 885 13 14 1 1658 15 16 1 2210 17 18 1 643 19 20 1 1079 21 22 1 499 23 24 1 1768 25 26 1 224 27 28 1 237 29 30 1 124 31 32 1 359 33 34 1 248 35 36 1 1896 37 38 1 1867 39 40 1 625 41 42 1 2407 43 44 1 2370 45 46 1 2177 47...
output:
5000 7635 2635 2261 1936 1645 1611 1705 1873 2021 2223 2401 2601 2801 3001 3201 3401 3601 3801 4001 4201 4401 4601 4801 5001 5201 5401 5601 5801 6001 6201 6401 6601 6801 7001 7201 7401 7601 7801 8001 8201 8401 8386 8581 8776 8971 9166 9361 9556 9751 9946 10141 10336 10531 10726 10921 11116 11311 115...
result:
ok 5000 numbers
Test #20:
score: 10
Accepted
time: 359ms
memory: 274200kb
input:
5000 200000 1 1 2 1 1040 3 4 1 742 5 6 1 187 7 8 1 378 9 10 1 595 11 12 1 1296 13 14 1 1104 15 16 1 2266 17 18 1 1137 19 20 1 1383 21 22 1 2167 23 24 1 1540 25 26 1 118 27 28 1 1783 29 30 1 2023 31 32 1 2185 33 34 1 1951 35 36 1 2292 37 38 1 2268 39 40 1 458 41 42 1 88 43 44 1 120 45 46 1 1782 47 48...
output:
5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 55000 60000 65000 70000 75000 80000 85000 90000 95000 100000 105000 110000 115000 120000 125000 130000 135000 140000 145000 150000 155000 160000 165000 170000 175000 180000 185000 190000 195000 200000 205000 210000 215000 220000 225000 23000...
result:
ok 5000 numbers
Subtask #5:
score: 0
Time Limit Exceeded
Test #21:
score: 0
Time Limit Exceeded
input:
200000 200000 1 1 2 1 6 3 4 1 1 5 6 1 5 7 8 1 3 9 10 1 3 11 12 1 6 13 14 1 5 15 16 1 6 17 18 1 6 19 20 1 1 21 22 1 4 23 24 1 5 25 26 1 2 27 28 1 4 29 30 1 3 31 32 1 2 33 34 1 6 35 36 1 3 37 38 1 2 39 40 1 2 41 42 1 3 43 44 1 1 45 46 1 2 47 48 1 3 49 50 1 4 51 52 1 5 53 54 1 1 55 56 1 5 57 58 1 5 59 ...
output:
result:
Subtask #6:
score: 0
Time Limit Exceeded
Test #28:
score: 0
Time Limit Exceeded
input:
200000 200000 0 91264 123676 6826 154505 121351 188051 108158 131448 65413 163961 26771 116304 93852 110556 34929 187363 31794 142162 33578 38712 26574 67763 178013 197235 46436 146042 95 122860 11683 50463 60177 195245 60862 194711 37817 97212 144366 176271 113551 171098 120095 170517 73555 167299 ...
output:
result:
Subtask #7:
score: 0
Time Limit Exceeded
Test #37:
score: 0
Time Limit Exceeded
input:
100000 200000 1 1 22878 1 2 1 7957 3 4 1 21779 5 6 1 34321 7 8 1 41692 9 10 1 49473 11 12 1 10254 13 14 1 43995 15 16 1 46975 17 18 1 668 19 20 1 25996 21 22 1 24975 23 24 1 43259 25 26 1 4174 27 28 1 39330 29 30 1 35462 31 32 1 27523 33 34 1 5574 35 36 1 47955 37 38 1 47013 39 40 1 3846 41 42 1 276...