Task: | Graph Ordering |
Sender: | Jatana |
Submission time: | 2019-03-09 21:08:10 +0200 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 7 |
#2 | ACCEPTED | 29 |
#3 | ACCEPTED | 18 |
#4 | ACCEPTED | 21 |
#5 | ACCEPTED | 25 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.27 s | 1, 4, 5 | details |
#2 | ACCEPTED | 0.26 s | 1, 5 | details |
#3 | ACCEPTED | 0.10 s | 1, 5 | details |
#4 | ACCEPTED | 0.16 s | 1, 5 | details |
#5 | ACCEPTED | 0.17 s | 1, 5 | details |
#6 | ACCEPTED | 0.01 s | 2, 3, 5 | details |
#7 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#8 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#9 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#10 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#11 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#12 | ACCEPTED | 0.01 s | 2, 3, 5 | details |
#13 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#14 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#15 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#16 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#17 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#18 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#19 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#20 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#21 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#22 | ACCEPTED | 0.01 s | 3, 4, 5 | details |
#23 | ACCEPTED | 0.03 s | 3, 5 | details |
#24 | ACCEPTED | 0.02 s | 3, 5 | details |
#25 | ACCEPTED | 0.03 s | 3, 5 | details |
#26 | ACCEPTED | 0.03 s | 3, 5 | details |
#27 | ACCEPTED | 0.02 s | 3, 5 | details |
#28 | ACCEPTED | 0.41 s | 5 | details |
#29 | ACCEPTED | 0.41 s | 5 | details |
#30 | ACCEPTED | 0.42 s | 4, 5 | details |
#31 | ACCEPTED | 0.42 s | 4, 5 | details |
#32 | ACCEPTED | 0.43 s | 4, 5 | details |
#33 | ACCEPTED | 0.44 s | 4, 5 | details |
#34 | ACCEPTED | 0.28 s | 5 | details |
#35 | ACCEPTED | 0.28 s | 5 | details |
#36 | ACCEPTED | 0.27 s | 5 | details |
#37 | ACCEPTED | 0.01 s | 1, 2, 3, 4, 5 | details |
#38 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#39 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#40 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#41 | ACCEPTED | 0.02 s | 1, 2, 3, 5 | details |
#42 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#43 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#44 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#45 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#46 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#47 | ACCEPTED | 0.02 s | 2, 3, 5 | details |
#48 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#49 | ACCEPTED | 0.03 s | 4, 5 | details |
Compiler report
input/code.cpp: In instantiation of 'void fast_print(const std::vector<_Tp>&) [with T = int]': input/code.cpp:244:12: required from 'std::ostream& operator,(std::ostream&, const T&) [with T = std::vector<int>; std::ostream = std::basic_ostream<char>]' input/code.cpp:622:10: required from here input/code.cpp:181:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 1; i < v.size(); i++) { input/code.cpp: In function 'void fast_scan(int&)': input/code.cpp:133:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] void fast_scan(int &x) { scanf("%d", &x); } ~~~~~^~~~~~~~~~ input/code.cpp: In function 'void fast_scan(long long int&)': input/code.cpp:134:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] void fast_scan(long long &x) { scanf("%lld", &x); }...
Code
/* `-:://:::- `//:-------:/:` .+:--.......--:+` `+:--..`````..--//` .o:--..`` ``..--:o` .o:--...```..---+/` `/y+o/---....---:+o. `...````-os+/:---:/+o/--.` `-/+++++/:. `...` :h+d+oooo+/+-` ... `/++//:::://++-`....` -.`//````````:` `..` `o+/::------://o/` `-` -. -` `..` `---.-o/:./o/::-..``..-ЗАПУСКАЕМ .. .. -` `... ``..`` `....o+:-++/:--.```..-://s. `-` .- -` `-o: .-//::::/:-` `:s+/:--....-::/+s-` .- `- -` -///:--------:/:` ./s+//:::::://oo-``..НЕЙРОННУЮ: СЕТЬ:::::::-`РАБОТЯГИ `+:--........--:/` .:ooo+++++osso-` `.:-...`/` ./::-------:/:` -` :+--..``````.--:+:...-+:-` `.-/+++++/+-.-` -. ``:so:/:--.......--:+` `-```````o+/+--..`````..--:o/-..:s+:. ```````:``.. `-` -` `+:--..`````..--/+-.../.`````..-o:--.......---/o. ` `: `:- -. .o:--..`` ``..--:o` `-` `:o+:--------:+o-` `-`-... .. .o/--...```..--:+/` `-` `oy/so/////++o/.` -/` `-` `- ``+s/o/:---...---:++. `-` .-../d://///:-.` `.---..``-..- .-/..`````-oo+/:::::/+o+- `-``-` `-. ```` `:++++/+++++- ..``.-/:` /y-:/++o++/:.`..` ./. `- -++/::::::://+/..:-``:` .. `-.` ```.``` `..` `..`-` `- `` -o//:--....-::/++` -.-` `-`.-` `..`..` `-.- -----ss+:++/:--.```..-://s. /. `:: `-:. ./` `````/:..+o/::-..``.--:/+s. ..-` `-``-` ..` `-` `-`-` `-s+/::-----::/+oo---``-` .. .:- ``` .-` .-.- `-` `:oo+//::://+os/..:`..-/:` :y.-:::::::.`.-` ./-` `-` `./+oooooooo+/.`- .-:...`.. .//:-------://` `- `..` `:. ``.-::::-.``-/` `-` `- `oo:+:--.......--:/` `- `.:--h.``..``` -.-`.- .- `+:--..`````..--//` `- /s-//::::::::. -` `/- .. .o:--..`` ``..--:o.```.- `//:--------://` -` .-`.-` -.`-o/--...```..--:+/.``-:....``:-.+:--....`...--:+` ..`-. `-. ``:os:o/:---...---:++. `- ``///+:-..``````.--:+-````-.` `.:///////.-` .:-..` -``-+o+/:::::/+o/. `- `:+:-..`````..--:o/:--/ys+- `-++///////+o/. ``....`-. :` `.:++++++/:.` .- -o/---......---/o. `.` `++//:-----::/+o:..` .-` : ``````` .- `+so+:--------:++-` `````:-``:o/::-..`..--:/+o` -. `- .- `../../+o+////+o+:.` -----syo/o+/:--.```..-://s. .-` `- .- `... ``-:////:-`` .` `/s//:--....-::/+s. -. `-` .- `..` .+o+/:::--:://+s/-..` .::+y ``` .- `..` ./oo++////+oso-` `.... :y-+:::::::/` ... `.:+oooooo/-` `....-. .//:-------:/:-.` ``...`` /+:+:--.......--:+` `+:--..`````..--//` .o:--..`` ``..--:o` .+/--...```..--:+/` `-o/:---...---:++. `-+o+/:---:/+o/. `.:+oooo+/-.` `````` */ #ifdef aimbot #pragma comment(linker, "/stack:200000000") #pragma GCC optimize("Ofast") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC optimize("unroll-loops") #endif #include <iostream> #include <vector> #include <algorithm> #include <cmath> #include <string> #include <unordered_map> #include <unordered_set> #include <map> #include <set> #include <queue> #include <ostream> #include <istream> #include <typeinfo> #include <iomanip> #include <cstdio> #include <cstdlib> #include <cassert> #include <limits> #include <fstream> #include <array> #include <list> #include <bitset> #include <functional> #include <random> #include <cstring> #include <chrono> #define random escape__from__random__aetuhoetnuhshe #define mt make_tuple #define x first #define y second #define pb push_back #define ppb pop_back #define mp make_pair #define umap unordered_map #define uset unordered_set #define elif else if #define len(v) ((int)v.size()) #define f(i, n) for (int i = 0; i < (n); i++) #define rof(i, n) for (int i = ((n) - 1); i >= 0; i--) #define apply(v, act) for (auto &x : v) { act; } #define log(args...) {string s = #args;deque<string> deq;\ string buf = "";int bal = 0;for (char c : s) {\ if (c == '(' || c == '[' || c == '{') {bal++;\ } else if (c == ')' || c == ']' || c == '}') {\ bal--;} else {if (bal == 0) {if (c == ',') {\ deq.pb(buf);buf = "";} else {if (c != ' ') {\ buf += c;}}}}}if (!buf.empty()) {deq.pb(buf);}\ smart_io::precall_print();smart_io::_print(deq, args);} #define print \ smart_io::precall_print(); \ cout, #define scan cin, #ifdef fast_allocator const int MAXMEM = 200 * 1000 * 1024; char _memory[MAXMEM]; size_t _ptr = 0; void* operator new(size_t _x) { _ptr += _x; assert(_ptr < MAXMEM); return _memory + _ptr - _x; } void operator delete (void*) noexcept {} #endif using namespace std; char string_in_buffer[(int)260]; void fast_scan(int &x) { scanf("%d", &x); } void fast_scan(long long &x) { scanf("%lld", &x); } void fast_scan(unsigned long long &x) { scanf("%llu", &x); } void fast_scan(double &x) { scanf("%lf", &x); } void fast_scan(long double &x) { scanf("%Lf", &x); } void fast_scan(char &x) { scanf("%c", &x); if (x == '\n') { fast_scan(x); } } void fast_scan(string &x) { scanf("%s", string_in_buffer); x = string(string_in_buffer); } template<class TFirst, class TSecond> void fast_scan(pair<TFirst, TSecond> &p) { fast_scan(p.first); fast_scan(p.second); } template <class T> void fast_scan(vector<T> &v) { for (auto &x : v) fast_scan(x); } void fast_print(const int &x) { printf("%d", x); } void fast_print(const unsigned int &x) { printf("%u", x); } void fast_print(const long long &x) { printf("%lld", x); } void fast_print(const unsigned long long &x) { printf("%llu", x); } void fast_print(const double &x) { printf("%.15lf", x); } void fast_print(const long double &x) { printf("%.15Lf", x); } void fast_print(const char &x) { printf("%c", x); }; void fast_print(const string &x) { printf("%s", x.c_str());} void fast_print(const char v[]) { fast_print((string)v); } template<class TFirst, class TSecond> void fast_print(const pair<TFirst, TSecond> &p) { fast_print(p.first); fast_print(' '); fast_print(p.second); } template <class T> void fast_print(const vector<T> &v) { if (v.empty()) return; fast_print(v[0]); for (int i = 1; i < v.size(); i++) { fast_print(' '); fast_print(v[i]); } } template <class T> void fast_print(const vector<vector<T>> &v) { if (v.empty()) return; fast_print(v[0]); for (int i = 1; i < v.size(); i++) { fast_print('\n'); fast_print(v[i]); } } template <class T> void fast_print(const T &v) { for (const auto &x : v) { fast_print(x); fast_print(' '); } } using namespace std; namespace smart_io { string print_start = ""; string sep = " "; bool first_print = false; void precall_print() { fast_print(print_start); print_start = "\n"; first_print = true; } void _print(deque<string>) {} template<class T, class... Args> void _print(deque<string> names, T elem, Args... args) { if (!first_print) { fast_print("\n"); } else { first_print = false; } fast_print(names.front()); fast_print(" = "); fast_print(elem); names.pop_front(); _print(names, args...); } } //namespace smart_io template <class T> ostream &operator,(ostream &os, const T &object) { if (!smart_io::first_print) { fast_print(smart_io::sep); } else { smart_io::first_print = false; } fast_print(object); return os; } template <class T> istream &operator,(istream &is, T &object) { fast_scan(object); return is; } namespace random { using namespace std::chrono; mt19937 rng(duration_cast< milliseconds >( system_clock::now().time_since_epoch() ).count()); uniform_real_distribution<> prob_dist(0.0, 1.0); }; namespace typedefs { typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii; typedef long double ld; } namespace numbers_operation { template<class T> T floor_mod(T a, T b) { if (a >= 0 && b >= 0) return a % b; if (a <= 0 && b <= 0) return a % b; return abs(b) - (abs(a) % abs(b)); } } using namespace numbers_operation; using namespace typedefs; using namespace random; struct Critical { int n; vector<vector<int>> g; vector<int> tin, uptime; vector<bool> used; int timer = 0; void dfs(int v) { used[v] = true; tin[v] = uptime[v] = timer++; for (int sub : g[v]) { if (used[sub]) continue; dfs(sub); } } void check(int v, int _forb) { used[v] = true; for (int sub : g[v]) { if (used[sub]) continue; if (sub == _forb) continue; check(sub, _forb); } } bool is_critical_slow(int v) { used = vector<bool>(n, false); int cnt = 0; for (int sub : g[v]) { if (used[sub]) continue; cnt++; check(sub, v); } return cnt >= 2; } vector<bool> crit; void go(int v, int _p) { used[v] = true; for (int sub : g[v]) { if (sub == _p) continue; if (used[sub]) { uptime[v] = min(uptime[v], tin[sub]); } else { go(sub, v); uptime[v] = min(uptime[v], uptime[sub]); if (uptime[sub] >= tin[v]) { crit[v] = true; } } } } Critical() {} Critical(int _n) { n = _n; g.resize(n); } void add_edge(int a, int b) { g[a].pb(b); g[b].pb(a); } void update_critical() { tin = vector<int>(n, 0); uptime = vector<int>(n, 0); used = vector<bool>(n, false); dfs(0); crit = vector<bool>(n, false); used = vector<bool>(n, false); go(0, -1); crit[0] = is_critical_slow(0); } }; int n, m; vector<vector<int>> g; vector<pii> edges; vector<int> uptime; vector<int> tin; vector<bool> used; vector<int> buff; vector<bool> pick; vector<int> order; int timer = 0; vector<int> at; int A = -1; struct Node { Node *l = NULL, *r = NULL, *pref = NULL; int value, prior; int size = 1; Node(int _value) { value = _value; prior = rng(); } }; int get_size(Node *node) { return node ? node->size : 0; } void update(Node *node) { node->size = get_size(node->l) + get_size(node->r) + 1; } Node *merge(Node *l, Node *r) { if (!l) return r; if (!r) return l; if (l->prior > r->prior) { l->r = merge(l->r, r); l->r->pref = l; update(l); return l; } else { r->l = merge(l, r->l); r->l->pref = r; update(r); return r; } } pair<Node*, Node*> split(Node *node, int k) { if (!node) return mp(node, node); if (get_size(node->l) >= k) { if (node->l) node->l->pref = NULL; auto t = split(node->l, k); node->l = NULL; update(node); return mp(t.x, merge(t.y, node)); } else { if (node->r) node->r->pref = NULL; auto t = split(node->r, k - get_size(node->l) - 1); node->r = NULL; update(node); return mp(merge(node, t.x), t.y); } } int get_id(Node *node) { int id = get_size(node->l); while (node->pref) { if (node->pref->r == node) { id += 1 + get_size(node->pref->l); } node = node->pref; } return id; } Node *cart = NULL; vector<Node*> pres; void dfs(int v, int _p, int end) { buff.pb(v); if (v == end) { for (int x : buff) { pres[x] = new Node(x); cart = merge(cart, pres[x]); pick[x] = true; } } at[timer] = v; uptime[v] = tin[v] = timer++; used[v] = true; for (int sub : g[v]) { if (sub == _p) continue; if (used[sub]) { uptime[v] = min(uptime[v], tin[sub]); } else { // log(v + 1, sub + 1); dfs(sub, v, end); uptime[v] = min(uptime[v], uptime[sub]); } } buff.pop_back(); } void echo(int v, int _p) { used[v] = true; if (!pick[v]) { buff.pb(v); } int B = at[uptime[v]]; if (!buff.empty() && pick[B] && B != A) { // auto itA = find(order.begin(), order.end(), A); // auto itB = find(order.begin(), order.end(), B); int itA = get_id(pres[A]); int itB = get_id(pres[B]); if (itA < itB) { auto t = split(cart, itA + 1); // order.insert(itA + 1, buff.begin(), buff.end()); for (int x : buff) { pres[x] = new Node(x); t.x = merge(t.x, pres[x]); } cart = merge(t.x, t.y); } else { reverse(buff.begin(), buff.end()); // order.insert(itB + 1, buff.begin(), buff.end()); auto t = split(cart, itB + 1); for (int x : buff) { pres[x] = new Node(x); t.x = merge(t.x, pres[x]); } cart = merge(t.x, t.y); } for (int x : buff) { pick[x] = true; } buff.clear(); } for (int sub : g[v]) { if (sub == _p) continue; if (used[sub]) continue; if (pick[v]) { A = v; } echo(sub, v); } } Critical base; set<int> finded_crit; void _index(int v) { used[v] = true; for (int sub : g[v]) { if (used[sub]) continue; if (base.crit[sub]) { finded_crit.insert(sub); } else { _index(sub); } } } signed main(signed argc, char *argv[]) { { scan n, m; base = Critical(n); g.clear(); edges.clear(); uptime.clear(); tin.clear(); used.clear(); buff.clear(); at.clear(); order.clear(); timer = 0; g.resize(n); at.resize(2 * n); uptime.resize(n); tin.resize(n); f(i, m) { int a, b; scan a, b; a--;b--; g[a].pb(b); g[b].pb(a); base.add_edge(a, b); edges.emplace_back(a, b); } used = vector<bool>(n, false); base.update_critical(); vector<int> pos; f(i, n) { if (base.crit[i]) continue; if (!used[i]) { if (len(g[i]) == 1) { pos.pb(i); used[i] = true; } else { finded_crit.clear(); _index(i); if (len(finded_crit) <= 1) { pos.pb(i); } } } } if (len(pos) <= 1) { pos.pb(n - 1); } if (len(pos) != 2) { print "IMPOSSIBLE"; return 0; } int start = pos[0]; int end = pos[1]; shuffle(pos.begin(), pos.end(), rng); used = vector<bool>(n, false); pick = vector<bool>(n, false); pres.resize(n, NULL); dfs(start, -1, end); buff.clear(); used = vector<bool>(n, false); echo(start, -1); vector<int> p(n); f(i, n) { if (pres[i]) { p[i] = get_id(pres[i]); } else { print "IMPOSSIBLE"; return 0; } } vector<int> in(n), out(n); for (pii edge : edges) { if (p[edge.x] > p[edge.y]) { swap(edge.x, edge.y); } in[edge.y]++; out[edge.x]++; } bool fail = false; f(i, n) { if (i != start && in[i] == 0) { fail = true; } if (i != end && out[i] == 0) { fail = true; } } if (!fail) { vector<int> order(n); f(i, n) { order[p[i]] = i; } apply(order, x++); print order; } else { print "IMPOSSIBLE"; } } }
Test details
Test 1
Group: 1, 4, 5
Verdict: ACCEPTED
input |
---|
100000 99999 8326 74462 11810 58064 21677 73087 62986 25005 ... |
correct output |
---|
1 44159 25721 84659 90058 9960... |
user output |
---|
1 44159 25721 84659 90058 9960... Truncated |
Test 2
Group: 1, 5
Verdict: ACCEPTED
input |
---|
100000 99999 28990 31200 86271 56882 61089 18658 52422 57504 ... |
correct output |
---|
68068 86325 91398 75677 51068 ... |
user output |
---|
68068 86325 91398 75677 51068 ... Truncated |
Test 3
Group: 1, 5
Verdict: ACCEPTED
input |
---|
100000 99999 29378 80094 12282 29378 96138 29378 61870 29378 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 4
Group: 1, 5
Verdict: ACCEPTED
input |
---|
100000 99999 97935 71091 9181 31715 73649 47675 45394 25464 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 5
Group: 1, 5
Verdict: ACCEPTED
input |
---|
100000 99999 2897 55594 11759 89041 56061 8717 69672 73046 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 6
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
100 200 55 10 33 57 68 39 29 27 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 7
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
100 175 71 86 100 88 83 92 25 73 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 8
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 200 26 58 49 25 66 20 20 85 ... |
correct output |
---|
1 2 86 60 34 92 23 4 44 89 76 ... |
user output |
---|
1 64 2 86 60 34 92 23 4 76 94 ... Truncated |
Test 9
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 195 19 28 63 48 1 57 1 20 ... |
correct output |
---|
12 97 18 74 36 10 78 50 61 95 ... |
user output |
---|
1 11 30 93 62 46 44 82 83 37 4... Truncated |
Test 10
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 193 48 66 15 67 32 14 36 78 ... |
correct output |
---|
1 56 13 32 14 49 75 93 18 6 54... |
user output |
---|
1 56 13 12 2 39 90 70 89 3 87 ... Truncated |
Test 11
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
100 195 47 68 57 61 45 17 80 61 ... |
correct output |
---|
57 20 83 41 25 33 60 91 59 7 7... |
user output |
---|
1 85 22 89 73 58 9 96 80 92 6 ... Truncated |
Test 12
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
100 185 43 78 76 99 78 39 83 61 ... |
correct output |
---|
78 43 32 88 26 28 64 81 7 72 2... |
user output |
---|
7 81 64 28 88 32 72 27 50 66 4... Truncated |
Test 13
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
99 132 96 16 18 89 98 50 66 26 ... |
correct output |
---|
1 12 45 71 97 22 35 9 60 27 20... |
user output |
---|
1 12 45 71 97 22 35 9 60 27 20... Truncated |
Test 14
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
98 144 25 6 30 34 58 25 31 41 ... |
correct output |
---|
32 7 92 1 63 86 87 14 90 17 81... |
user output |
---|
1 7 92 32 63 86 87 14 90 17 81... Truncated |
Test 15
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
96 145 19 70 72 92 27 72 17 85 ... |
correct output |
---|
1 50 30 4 10 48 42 5 70 19 29 ... |
user output |
---|
1 50 30 4 10 48 42 70 5 19 29 ... Truncated |
Test 16
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
96 158 79 74 41 70 8 5 73 90 ... |
correct output |
---|
7 59 44 27 1 30 49 28 80 52 15... |
user output |
---|
1 27 44 59 7 30 49 28 52 80 15... Truncated |
Test 17
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
96 142 95 35 67 89 91 70 48 21 ... |
correct output |
---|
13 20 81 33 1 51 19 69 16 85 6... |
user output |
---|
1 20 81 33 13 51 19 85 16 69 6... Truncated |
Test 18
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
72 111 70 17 25 3 58 24 52 9 ... |
correct output |
---|
21 59 48 8 1 2 31 10 11 41 4 5... |
user output |
---|
1 8 48 59 21 2 31 10 11 41 4 5... Truncated |
Test 19
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
988 1563 402 701 830 801 50 578 8 144 ... |
correct output |
---|
1 136 368 683 447 304 131 53 8... |
user output |
---|
1 136 368 683 447 304 131 53 8... Truncated |
Test 20
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
994 1555 171 541 66 915 330 350 494 251 ... |
correct output |
---|
1 164 205 151 951 797 4 654 14... |
user output |
---|
1 205 164 151 951 797 4 654 91... Truncated |
Test 21
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1000 2000 711 947 775 441 691 471 844 28 ... |
correct output |
---|
1 676 731 662 248 31 165 558 8... |
user output |
---|
1 788 505 817 19 948 933 214 1... Truncated |
Test 22
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1000 2000 811 889 873 984 83 52 144 511 ... |
correct output |
---|
60 909 522 568 40 77 181 441 8... |
user output |
---|
1 499 217 143 175 476 600 67 7... Truncated |
Test 23
Group: 3, 5
Verdict: ACCEPTED
input |
---|
1000 1869 625 715 448 714 110 927 432 1000 ... |
correct output |
---|
224 326 221 30 76 475 666 694 ... |
user output |
---|
16 605 920 565 801 944 798 333... Truncated |
Test 24
Group: 3, 5
Verdict: ACCEPTED
input |
---|
1000 1783 709 1 182 768 355 40 786 260 ... |
correct output |
---|
230 6 135 678 346 19 470 960 3... |
user output |
---|
6 230 135 678 346 19 470 318 9... Truncated |
Test 25
Group: 3, 5
Verdict: ACCEPTED
input |
---|
1000 2000 92 876 273 598 287 535 526 972 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 26
Group: 3, 5
Verdict: ACCEPTED
input |
---|
1000 1910 789 821 553 740 889 527 488 730 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 27
Group: 3, 5
Verdict: ACCEPTED
input |
---|
1000 1608 910 416 503 898 928 14 412 903 ... |
correct output |
---|
140 404 739 563 63 794 623 948... |
user output |
---|
63 794 563 739 404 140 623 948... Truncated |
Test 28
Group: 5
Verdict: ACCEPTED
input |
---|
100000 198666 5659 89691 91040 53375 96642 56177 28768 57001 ... |
correct output |
---|
45598 74078 1039 83702 16344 8... |
user output |
---|
90 74884 75317 70485 71767 214... Truncated |
Test 29
Group: 5
Verdict: ACCEPTED
input |
---|
100000 197194 41636 91770 63018 23827 39207 93713 67765 47715 ... |
correct output |
---|
79054 61855 53279 55546 60860 ... |
user output |
---|
864 59338 99282 53479 56885 76... Truncated |
Test 30
Group: 4, 5
Verdict: ACCEPTED
input |
---|
100000 199985 13674 42886 51349 6858 78502 18751 13628 65936 ... |
correct output |
---|
17857 81664 4369 61462 79754 8... |
user output |
---|
1 47064 44643 95695 3618 38599... Truncated |
Test 31
Group: 4, 5
Verdict: ACCEPTED
input |
---|
100000 200000 27666 33166 7161 81452 73134 30281 5106 29308 ... |
correct output |
---|
76869 5635 23236 12666 61633 8... |
user output |
---|
1 73905 76869 81955 60796 8232... Truncated |
Test 32
Group: 4, 5
Verdict: ACCEPTED
input |
---|
100000 200000 62814 54729 98407 26888 91808 70132 58916 49730 ... |
correct output |
---|
19788 11202 3496 24237 68564 5... |
user output |
---|
1 75042 96858 87874 52310 1911... Truncated |
Test 33
Group: 4, 5
Verdict: ACCEPTED
input |
---|
100000 200000 2299 91653 21125 75544 54029 94067 86513 45051 ... |
correct output |
---|
1 20339 9304 40427 67694 95656... |
user output |
---|
1 82115 35075 41831 1948 90826... Truncated |
Test 34
Group: 5
Verdict: ACCEPTED
input |
---|
100000 200000 34688 93668 78127 18902 55150 33116 273 88797 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 35
Group: 5
Verdict: ACCEPTED
input |
---|
100000 200000 21026 14630 5605 59639 25604 78683 55713 70513 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 36
Group: 5
Verdict: ACCEPTED
input |
---|
100000 200000 63190 73606 52072 54105 22092 31495 9189 37924 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 37
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
2 1 2 1 |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 38
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
7 9 1 2 1 3 2 3 1 4 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 39
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
9 12 1 2 2 3 3 1 4 5 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 40
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
5 5 4 2 4 3 2 1 3 1 ... |
correct output |
---|
4 2 3 1 5 |
user output |
---|
2 4 3 1 5 |
Test 41
Group: 1, 2, 3, 5
Verdict: ACCEPTED
input |
---|
4 3 1 2 3 2 4 2 |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 42
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
17 30 4 1 3 14 6 16 13 6 ... |
correct output |
---|
7 8 11 15 1 2 9 3 14 13 5 10 1... |
user output |
---|
2 9 3 14 13 5 10 17 12 16 6 4 ... |
Test 43
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
992 1712 377 709 847 640 261 902 761 693 ... |
correct output |
---|
870 1 925 928 950 257 766 520 ... |
user output |
---|
1 870 925 928 90 366 826 629 1... Truncated |
Test 44
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
990 1672 305 445 800 155 365 779 824 247 ... |
correct output |
---|
108 461 160 696 895 655 376 21... |
user output |
---|
1 326 88 160 461 213 376 655 8... Truncated |
Test 45
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
99 169 35 32 97 43 22 62 33 7 ... |
correct output |
---|
19 70 62 22 54 78 25 14 3 81 1... |
user output |
---|
1 19 70 62 22 3 81 17 54 78 25... Truncated |
Test 46
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
99 164 62 73 19 35 55 92 79 91 ... |
correct output |
---|
21 25 64 90 17 15 89 95 70 33 ... |
user output |
---|
1 75 38 96 42 16 33 70 95 89 1... Truncated |
Test 47
Group: 2, 3, 5
Verdict: ACCEPTED
input |
---|
53 68 7 46 51 14 3 18 8 40 ... |
correct output |
---|
32 30 38 33 27 12 8 20 2 34 45... |
user output |
---|
1 28 50 37 5 49 51 38 20 2 34 ... Truncated |
Test 48
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
996 1902 661 201 19 613 895 438 180 32 ... |
correct output |
---|
220 795 198 239 40 164 773 834... |
user output |
---|
1 929 80 486 54 620 69 834 647... Truncated |
Test 49
Group: 4, 5
Verdict: ACCEPTED
input |
---|
6110 11528 3366 4718 3226 2188 5022 1186 3205 5349 ... |
correct output |
---|
1 2527 2211 554 4201 4522 1494... |
user output |
---|
1 2527 2211 554 3115 5620 2916... Truncated |