QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#699107 | #7999. 拉丁方 | hos_lyric# | 100 ✓ | 1707ms | 22356kb | C++14 | 8.9kb | 2024-11-02 01:18:12 | 2024-11-02 01:18:13 |
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")
// !!!Modifies ns and edges!!!
// n: modified regular bipartite graph
// d := max degree = edge chromatic number
// iss[c]: edges of color c \in [0, d)
// colors[i]: color of edge i
struct BipartiteEdgeColoring {
int ns[2];
vector<pair<int, int>> edges;
int n;
int d;
vector<int> colors;
vector<vector<int>> iss;
BipartiteEdgeColoring() {}
BipartiteEdgeColoring(int n0, int n1) : ns{n0, n1}, edges() {}
void ae(int u, int v) {
assert(0 <= u); assert(u < ns[0]);
assert(0 <= v); assert(v < ns[1]);
edges.emplace_back(u, v);
}
void run() {
const int m = edges.size();
vector<int> deg[2];
for (int s = 0; s < 2; ++s) deg[s].assign(ns[s], 0);
for (const auto &edge : edges) {
++deg[0][edge.first];
++deg[1][edge.second];
}
d = 0;
for (int s = 0; s < 2; ++s) for (int u = 0; u < ns[s]; ++u) if (d < deg[s][u]) d = deg[s][u];
// Merge vertices of small degree.
for (int s = 0; s < 2; ++s) {
priority_queue<pair<int, int>, vector<pair<int, int>>, std::greater<pair<int, int>>> que;
par.resize(ns[s]);
for (int u = 0; u < ns[s]; ++u) que.emplace(deg[s][u], par[u] = u);
for (; ; ) {
if (!que.size()) break;
const auto p0 = que.top(); que.pop();
if (!que.size()) break;
const auto p1 = que.top(); que.pop();
if (p0.first + p1.first > d) break;
par[p0.second] = p1.second;
que.emplace(p0.first + p1.first, p1.second);
}
int nn = 0;
vector<int> ids(ns[s], -1);
for (int u = 0; u < ns[s]; ++u) if (par[u] == u) ids[u] = nn++;
ns[s] = nn;
if (s == 0) {
for (auto &edge : edges) edge.first = ids[root(edge.first)];
} else {
for (auto &edge : edges) edge.second = ids[root(edge.second)];
}
}
// Add edges to make the graph d-regular.
n = max(ns[0], ns[1]);
for (int s = 0; s < 2; ++s) deg[s].assign(n, 0);
for (const auto &edge : edges) {
++deg[0][edge.first];
++deg[1][edge.second];
}
for (int u = 0, v = 0; ; ) {
for (; u < n && deg[0][u] >= d; ++u) {}
for (; v < n && deg[1][v] >= d; ++v) {}
if (u == n && v == n) break;
edges.emplace_back(u, v);
++deg[0][u];
++deg[1][v];
}
iss.clear();
vector<int> is(n * d);
for (int i = 0; i < n * d; ++i) is[i] = i;
rec(is);
// Remove added edges.
colors.assign(m, -1);
for (int k = 0; k < d; ++k) {
iss[k].erase(std::lower_bound(iss[k].begin(), iss[k].end(), m), iss[k].end());
for (const int i : iss[k]) colors[i] = k;
}
}
vector<int> par;
int root(int u) {
return (par[u] == u) ? u : (par[u] = root(par[u]));
}
// is: k-regular
void rec(vector<int> is) {
if (!is.size()) return;
const int k = is.size() / n;
if (k == 1) {
std::sort(is.begin(), is.end());
iss.push_back(is);
} else if (k % 2 != 0) {
if (iss.size()) {
is.insert(is.end(), iss.back().begin(), iss.back().end());
iss.pop_back();
rec(is);
} else {
// Add (2^e - k) bad matchings to find a perfect matching.
const int e = (31 - __builtin_clz(k)) + 1;
vector<int> ma(n);
for (int u = 0; u < n; ++u) ma[u] = ~u;
for (; ; ) {
auto js = is;
for (const int j : ma) for (int l = 0; l < (1 << e) - k; ++l) js.push_back(j);
for (int f = e; --f >= 0; ) {
const auto jss = euler(js);
int numBads[2] = {};
for (int s = 0; s < 2; ++s) for (const int i : jss[s]) if (i < 0) ++numBads[s];
js = jss[(numBads[0] <= numBads[1]) ? 0 : 1];
}
ma.swap(js);
bool good = true;
for (const int j : ma) if (j < 0) {
good = false;
break;
}
if (good) break;
}
std::sort(ma.begin(), ma.end());
iss.push_back(ma);
std::sort(is.begin(), is.end());
vector<int> iis;
auto it = ma.begin();
for (const int i : is) {
for (; it != ma.end() && *it < i; ++it) {}
if (!(it != ma.end() && *it == i)) iis.push_back(i);
}
rec(iis);
}
} else {
const auto jss = euler(is);
for (int s = 0; s < 2; ++s) rec(jss[s]);
}
}
// Take Eulerian circuit and take edges alternately.
vector<vector<int>> euler(const vector<int> &is) {
const int k = is.size() / n;
vector<int> pt(n + n);
for (int u = 0; u < n + n; ++u) pt[u] = u * k;
vector<pair<int, int>> xvs((n + n) * k);
for (int x = 0; x < n * k; ++x) {
const int i = is[x];
int u, v;
if (i >= 0) {
u = edges[i].first;
v = n + edges[i].second;
} else {
u = ~i;
v = n + ~i;
}
xvs[pt[u]++] = std::make_pair(x, v);
xvs[pt[v]++] = std::make_pair(x, u);
}
vector<int> used(n * k, 0);
int y = 0;
vector<vector<int>> jss(2, vector<int>(n * (k / 2)));
vector<int> stack;
for (int u0 = 0; u0 < n; ++u0) {
for (stack.push_back(u0); stack.size(); ) {
const int u = stack.back();
if (pt[u] > u * k) {
--pt[u];
const int x = xvs[pt[u]].first;
const int v = xvs[pt[u]].second;
if (!used[x]) {
used[x] = 1;
jss[y & 1][y >> 1] = is[x];
++y;
stack.push_back(v);
}
} else {
stack.pop_back();
}
}
}
return jss;
}
};
////////////////////////////////////////////////////////////////////////////////
int N, R, C;
int A[510][510];
bool used[510][510];
bool solve() {
// row [0, R) -> value
{
BipartiteEdgeColoring bec(R, N);
for (int x = 0; x < R; ++x) {
fill(used[x], used[x] + N, false);
for (int y = 0; y < C; ++y) used[x][A[x][y]] = true;
for (int a = 0; a < N; ++a) if (!used[x][a]) bec.ae(x, a);
}
bec.run();
assert(bec.d >= N - C);
if (bec.d > N - C) return false;
int i = 0;
for (int x = 0; x < R; ++x) for (int a = 0; a < N; ++a) if (!used[x][a]) {
A[x][C + bec.colors[i]] = a;
++i;
}
}
// col [0, N) -> value
{
BipartiteEdgeColoring bec(N, N);
for (int y = 0; y < N; ++y) {
fill(used[y], used[y] + N, false);
for (int x = 0; x < R; ++x) used[y][A[x][y]] = true;
for (int a = 0; a < N; ++a) if (!used[y][a]) bec.ae(y, a);
}
bec.run();
assert(bec.d == N - R);
int i = 0;
for (int y = 0; y < N; ++y) for (int a = 0; a < N; ++a) if (!used[y][a]) {
A[R + bec.colors[i]][y] = a;
++i;
}
}
return true;
}
int main() {
for (int numCases; ~scanf("%d", &numCases); ) { for (int caseId = 1; caseId <= numCases; ++caseId) {
scanf("%d%d%d", &N, &R, &C);
for (int x = 0; x < N; ++x) for (int y = 0; y < N; ++y) A[x][y] = -1;
for (int x = 0; x < R; ++x) for (int y = 0; y < C; ++y) {
scanf("%d", &A[x][y]);
--A[x][y];
}
if (solve()) {
puts("Yes");
for (int x = 0; x < N; ++x) {
for (int y = 0; y < N; ++y) {
if (y) printf(" ");
printf("%d", A[x][y] + 1);
}
puts("");
}
#ifdef LOCAL
for(int x=0;x<N;++x)for(int y=0;y<N;++y){assert(0<=A[x][y]);assert(A[x][y]<N);}
for(int x=0;x<N;++x){set<int>as;for(int y=0;y<N;++y)assert(as.insert(A[x][y]).second);}
for(int y=0;y<N;++y){set<int>as;for(int x=0;x<N;++x)assert(as.insert(A[x][y]).second);}
#endif
} else {
puts("No");
}
}
#ifndef LOCAL
break;
#endif
}
return 0;
}
詳細信息
Pretests
Final Tests
Test #1:
score: 5
Accepted
time: 0ms
memory: 3860kb
input:
10 6 2 1 1 3 6 2 4 1 4 2 6 6 5 4 3 6 4 4 4 1 5 3 5 2 1 6 6 3 2 4 2 6 3 5 6 6 3 4 5 1 1 2 4 3 6 2 2 4 6 6 3 5 5 1 3 6 1 2 4 3 6 2 2 5 2 3 1 6 2 1 5 3 6 4 6 1 6 2 4 3 5 4 2 3 5 1 6 3 5 1 6 4 2 6 3 4 2 5 1 6 1 4 2 6 1 5 6 3 4 3 1 2 4 4 3 5 2 2 5 4 1
output:
Yes 1 2 5 6 4 3 3 5 1 4 2 6 5 4 6 3 1 2 6 3 2 1 5 4 2 6 4 5 3 1 4 1 3 2 6 5 Yes 1 4 2 6 5 3 6 5 4 3 2 1 3 2 1 5 4 6 5 3 6 4 1 2 2 6 5 1 3 4 4 1 3 2 6 5 Yes 4 1 5 3 6 2 5 2 1 6 3 4 6 3 2 4 1 5 2 6 3 5 4 1 3 5 4 1 2 6 1 4 6 2 5 3 Yes 4 5 1 2 6 3 1 2 4 5 3 6 3 6 2 1 5 4 2 4 6 3 1 5 6 3 5 4 2 1 5 1 3 6 ...
result:
ok ok (10 test cases)
Test #2:
score: 5
Accepted
time: 1ms
memory: 3852kb
input:
10 6 2 1 5 4 6 4 1 3 1 2 6 6 1 4 6 4 2 3 6 4 2 2 5 4 1 6 3 3 2 6 2 4 4 6 2 3 2 5 4 1 6 2 2 3 5 1 2 6 3 2 6 2 5 3 1 4 6 3 2 5 3 1 4 6 2 6 5 2 5 1 2 6 3 4 1 2 6 5 6 3 4 5 1 4 2 4 5 3 1 3 2 1 5
output:
Yes 5 1 4 6 3 2 4 5 1 3 2 6 3 2 6 1 5 4 6 4 2 5 1 3 2 3 5 4 6 1 1 6 3 2 4 5 Yes 3 1 5 6 2 4 1 5 2 4 3 6 2 3 6 1 4 5 6 4 3 2 5 1 5 6 4 3 1 2 4 2 1 5 6 3 Yes 6 4 2 3 5 1 4 5 6 2 1 3 2 1 5 4 3 6 5 3 1 6 4 2 1 2 3 5 6 4 3 6 4 1 2 5 Yes 2 5 3 6 1 4 4 1 5 3 6 2 6 3 4 1 2 5 3 2 6 4 5 1 5 6 1 2 4 3 1 4 2 5 ...
result:
ok ok (10 test cases)
Test #3:
score: 5
Accepted
time: 1ms
memory: 4184kb
input:
10 10 7 7 1 7 5 10 2 3 4 5 2 4 9 6 8 10 3 10 1 6 4 7 5 4 8 2 7 1 9 3 9 6 3 8 10 5 1 7 4 9 3 5 1 6 6 3 10 1 8 2 9 10 3 9 8 7 2 9 3 6 10 1 5 1 3 7 5 10 9 6 4 2 2 6 8 10 1 4 5 9 7 10 1 7 5 10 3 6 2 8 7 10 3 7 8 1 7 9 3 4 10 5 10 1 8 7 2 3 9 3 2 4 6 10 5 10 1 3 2 7 8 10 1 8 6 4 2 10 5 8 3 1 10 9 9 2 5 4...
output:
Yes 1 7 5 10 2 3 4 8 9 6 5 2 4 9 6 8 10 3 7 1 3 10 1 6 4 7 5 9 8 2 4 8 2 7 1 9 3 6 5 10 9 6 3 8 10 5 1 4 2 7 7 4 9 3 5 1 6 2 10 8 6 3 10 1 8 2 9 7 4 5 2 1 7 4 3 10 8 5 6 9 10 9 8 5 7 6 2 1 3 4 8 5 6 2 9 4 7 10 1 3 Yes 8 7 2 9 3 6 10 1 5 4 1 3 7 5 10 9 6 4 2 8 2 6 8 10 1 4 5 9 7 3 7 5 10 4 6 8 9 3 1 ...
result:
ok ok (10 test cases)
Test #4:
score: 5
Accepted
time: 1ms
memory: 4184kb
input:
10 10 1 1 10 10 8 8 1 7 5 2 3 6 4 10 2 3 4 7 9 8 5 6 9 8 6 10 1 5 2 3 5 10 3 9 4 7 1 8 4 6 1 8 10 2 7 9 7 5 9 4 2 3 8 1 3 2 7 6 5 10 9 4 10 9 8 1 6 4 3 5 10 4 7 10 7 5 3 6 9 4 3 8 7 9 1 4 10 6 5 4 1 10 2 3 2 4 10 8 7 5 6 10 5 2 6 7 4 2 9 5 3 10 8 1 10 4 7 9 6 5 1 4 2 10 7 4 2 8 10 5 3 10 1 3 9 7 8 5...
output:
Yes 10 1 7 3 9 5 6 2 8 4 1 3 6 10 8 4 2 9 7 5 6 2 10 8 7 9 4 5 1 3 4 7 2 1 5 3 8 6 9 10 9 5 3 7 6 1 10 8 4 2 8 9 5 4 2 10 3 1 6 7 7 10 8 9 3 2 1 4 5 6 2 6 4 5 1 8 7 3 10 9 3 8 9 6 4 7 5 10 2 1 5 4 1 2 10 6 9 7 3 8 Yes 1 7 5 2 3 6 4 10 9 8 2 3 4 7 9 8 5 6 1 10 9 8 6 10 1 5 2 3 7 4 5 10 3 9 4 7 1 8 6 ...
result:
ok ok (10 test cases)
Test #5:
score: 5
Accepted
time: 1621ms
memory: 20948kb
input:
10 500 1 39 201 443 328 346 404 472 146 117 171 389 321 403 420 280 197 343 126 315 108 39 42 278 303 11 255 330 101 422 263 281 496 110 97 159 406 241 178 187 179 500 1 362 278 200 441 177 47 404 184 261 199 492 198 470 39 71 297 72 134 157 92 313 269 40 304 168 447 290 224 181 481 218 489 374 383 ...
output:
Yes 201 443 328 346 404 472 146 117 171 389 321 403 420 280 197 343 126 315 108 39 42 278 303 11 255 330 101 422 263 281 496 110 97 159 406 241 178 187 179 390 89 357 231 301 23 460 427 127 161 266 338 57 493 373 73 198 215 285 6 444 409 107 143 248 319 40 348 65 485 207 274 477 417 135 381 98 180 2...
result:
ok ok (10 test cases)
Test #6:
score: 5
Accepted
time: 22ms
memory: 4680kb
input:
10 100 59 100 89 11 52 81 39 8 35 20 63 73 96 13 7 78 67 46 6 51 90 27 25 68 5 40 44 70 38 36 19 10 54 3 91 56 1 86 82 15 74 71 66 48 16 75 21 29 55 77 61 95 60 57 30 53 4 9 99 22 65 2 47 17 24 23 59 62 28 97 87 43 79 98 41 33 14 64 45 69 50 93 26 88 34 49 100 84 72 37 80 58 94 92 12 42 76 85 83 18 ...
output:
Yes 89 11 52 81 39 8 35 20 63 73 96 13 7 78 67 46 6 51 90 27 25 68 5 40 44 70 38 36 19 10 54 3 91 56 1 86 82 15 74 71 66 48 16 75 21 29 55 77 61 95 60 57 30 53 4 9 99 22 65 2 47 17 24 23 59 62 28 97 87 43 79 98 41 33 14 64 45 69 50 93 26 88 34 49 100 84 72 37 80 58 94 92 12 42 76 85 83 18 32 31 45 1...
result:
ok ok (10 test cases)
Test #7:
score: 5
Accepted
time: 19ms
memory: 4832kb
input:
10 100 87 100 1 86 29 33 80 26 57 15 60 2 52 93 100 56 32 4 96 34 85 91 43 72 19 83 16 75 39 35 64 31 82 74 36 17 14 25 63 58 54 18 22 13 94 73 98 37 68 30 20 41 10 95 45 42 61 38 78 12 49 55 84 3 53 7 81 40 47 66 92 76 59 6 79 99 89 70 77 23 62 97 28 24 44 67 88 5 46 8 9 87 27 11 65 69 21 51 71 48 ...
output:
Yes 1 86 29 33 80 26 57 15 60 2 52 93 100 56 32 4 96 34 85 91 43 72 19 83 16 75 39 35 64 31 82 74 36 17 14 25 63 58 54 18 22 13 94 73 98 37 68 30 20 41 10 95 45 42 61 38 78 12 49 55 84 3 53 7 81 40 47 66 92 76 59 6 79 99 89 70 77 23 62 97 28 24 44 67 88 5 46 8 9 87 27 11 65 69 21 51 71 48 90 50 63 5...
result:
ok ok (10 test cases)
Test #8:
score: 5
Accepted
time: 252ms
memory: 9932kb
input:
10 300 115 300 258 235 113 48 246 149 278 25 90 216 220 299 69 285 134 206 39 52 15 265 111 28 94 11 194 187 242 154 62 60 116 135 86 144 124 108 119 283 282 211 245 295 112 261 4 2 10 244 267 196 83 143 105 70 40 272 55 155 97 74 13 65 132 288 170 174 260 165 46 151 252 53 32 201 66 142 274 27 30 1...
output:
Yes 258 235 113 48 246 149 278 25 90 216 220 299 69 285 134 206 39 52 15 265 111 28 94 11 194 187 242 154 62 60 116 135 86 144 124 108 119 283 282 211 245 295 112 261 4 2 10 244 267 196 83 143 105 70 40 272 55 155 97 74 13 65 132 288 170 174 260 165 46 151 252 53 32 201 66 142 274 27 30 197 96 98 19...
result:
ok ok (10 test cases)
Test #9:
score: 5
Accepted
time: 393ms
memory: 13164kb
input:
10 300 39 300 153 47 152 270 96 202 24 212 109 69 160 116 133 91 150 258 246 8 295 210 223 99 178 159 32 205 101 23 213 26 89 281 117 218 106 75 215 290 104 82 113 105 174 71 297 242 197 115 221 225 5 122 286 94 9 200 28 203 33 77 108 234 12 279 7 34 154 229 62 143 186 142 275 168 196 111 25 51 156 ...
output:
Yes 153 47 152 270 96 202 24 212 109 69 160 116 133 91 150 258 246 8 295 210 223 99 178 159 32 205 101 23 213 26 89 281 117 218 106 75 215 290 104 82 113 105 174 71 297 242 197 115 221 225 5 122 286 94 9 200 28 203 33 77 108 234 12 279 7 34 154 229 62 143 186 142 275 168 196 111 25 51 156 228 193 4 ...
result:
ok ok (10 test cases)
Test #10:
score: 5
Accepted
time: 1036ms
memory: 21132kb
input:
10 500 18 500 282 102 421 339 20 225 141 221 457 330 196 314 245 377 7 39 113 106 111 57 495 479 480 388 405 367 398 112 101 379 251 255 208 75 4 66 392 284 93 395 86 231 96 125 368 448 149 400 322 427 378 199 97 474 477 100 85 45 258 138 281 273 363 202 288 493 328 483 357 190 194 43 289 19 319 137...
output:
Yes 282 102 421 339 20 225 141 221 457 330 196 314 245 377 7 39 113 106 111 57 495 479 480 388 405 367 398 112 101 379 251 255 208 75 4 66 392 284 93 395 86 231 96 125 368 448 149 400 322 427 378 199 97 474 477 100 85 45 258 138 281 273 363 202 288 493 328 483 357 190 194 43 289 19 319 137 404 209 2...
result:
ok ok (10 test cases)
Test #11:
score: 5
Accepted
time: 1707ms
memory: 22356kb
input:
10 500 171 146 271 474 337 28 15 9 494 482 381 404 25 74 465 378 446 11 150 160 434 199 248 419 221 354 425 265 215 94 426 197 288 287 236 223 259 8 167 453 284 499 483 473 171 62 464 383 2 476 313 116 394 293 212 182 347 457 108 325 95 82 396 96 254 432 90 79 247 351 303 110 54 459 460 311 158 415 ...
output:
Yes 271 474 337 28 15 9 494 482 381 404 25 74 465 378 446 11 150 160 434 199 248 419 221 354 425 265 215 94 426 197 288 287 236 223 259 8 167 453 284 499 483 473 171 62 464 383 2 476 313 116 394 293 212 182 347 457 108 325 95 82 396 96 254 432 90 79 247 351 303 110 54 459 460 311 158 415 469 149 268...
result:
ok ok (10 test cases)
Test #12:
score: 5
Accepted
time: 1492ms
memory: 22140kb
input:
10 500 61 70 15 300 446 146 477 420 244 462 443 49 328 24 158 440 47 18 43 388 258 366 488 312 426 138 359 114 489 130 464 407 190 450 471 391 55 89 345 131 393 247 39 265 196 78 299 384 135 219 179 184 313 406 73 424 193 459 291 343 434 58 427 92 295 441 83 285 87 397 499 493 494 55 314 100 383 7 3...
output:
Yes 15 300 446 146 477 420 244 462 443 49 328 24 158 440 47 18 43 388 258 366 488 312 426 138 359 114 489 130 464 407 190 450 471 391 55 89 345 131 393 247 39 265 196 78 299 384 135 219 179 184 313 406 73 424 193 459 291 343 434 58 427 92 295 441 83 285 87 397 499 493 232 35 377 71 209 316 275 162 4...
result:
ok ok (10 test cases)
Test #13:
score: 5
Accepted
time: 31ms
memory: 4728kb
input:
10 100 55 94 8 91 69 56 99 10 29 79 49 39 40 78 57 26 35 28 92 45 66 51 15 82 44 9 41 60 18 67 11 81 90 27 2 36 34 59 73 23 20 95 58 3 22 84 54 87 16 63 52 88 38 80 55 1 96 14 24 17 89 21 83 53 64 71 30 85 98 74 25 31 46 70 94 13 77 86 93 61 6 7 75 19 62 42 4 33 47 50 100 48 5 32 97 68 25 10 39 68 5...
output:
Yes 8 91 69 56 99 10 29 79 49 39 40 78 57 26 35 28 92 45 66 51 15 82 44 9 41 60 18 67 11 81 90 27 2 36 34 59 73 23 20 95 58 3 22 84 54 87 16 63 52 88 38 80 55 1 96 14 24 17 89 21 83 53 64 71 30 85 98 74 25 31 46 70 94 13 77 86 93 61 6 7 75 19 62 42 4 33 47 50 100 48 5 32 97 68 76 72 37 43 65 12 25 1...
result:
ok ok (10 test cases)
Test #14:
score: 5
Accepted
time: 29ms
memory: 4872kb
input:
10 100 4 18 31 65 89 37 67 58 8 48 40 92 12 68 15 98 88 29 43 24 16 30 49 22 4 66 98 81 34 79 8 85 53 23 77 12 67 95 62 48 44 5 69 25 74 68 87 21 99 50 94 82 64 57 19 33 84 40 32 76 52 18 61 28 26 60 83 59 41 11 10 46 91 78 100 92 87 48 8 18 45 5 89 75 79 96 19 41 53 73 42 36 46 94 31 69 20 98 13 83...
output:
Yes 31 65 89 37 67 58 8 48 40 92 12 68 15 98 88 29 43 24 64 59 28 20 16 83 99 70 69 47 6 41 95 93 22 50 100 87 38 25 75 14 86 78 10 53 81 56 2 94 61 33 97 54 9 42 35 45 72 79 7 18 76 96 71 19 17 57 5 62 74 1 13 34 23 60 80 36 39 49 90 85 44 21 30 4 46 63 84 91 55 82 11 32 3 51 77 52 73 26 27 66 16 3...
result:
ok ok (10 test cases)
Test #15:
score: 5
Accepted
time: 399ms
memory: 12668kb
input:
10 300 44 46 113 257 78 212 276 158 253 150 210 278 127 237 40 149 30 63 294 143 239 49 231 70 176 111 213 203 256 192 35 69 68 250 21 23 94 41 288 171 65 126 236 44 289 137 53 129 290 230 271 87 84 251 243 127 279 48 14 174 17 194 191 154 228 297 3 82 86 195 278 143 98 241 137 20 239 30 224 100 169...
output:
Yes 113 257 78 212 276 158 253 150 210 278 127 237 40 149 30 63 294 143 239 49 231 70 176 111 213 203 256 192 35 69 68 250 21 23 94 41 288 171 65 126 236 44 289 137 53 129 152 62 277 87 48 27 188 133 261 57 297 115 225 31 162 102 123 51 259 71 104 36 201 9 170 73 238 141 20 50 233 120 220 132 245 16...
result:
ok ok (10 test cases)
Test #16:
score: 5
Accepted
time: 456ms
memory: 12916kb
input:
10 300 188 74 150 99 240 206 215 91 127 278 69 254 229 266 211 180 205 183 270 198 261 1 48 258 231 148 280 159 21 225 237 109 54 196 77 284 89 189 233 247 217 257 193 291 42 221 213 15 163 14 121 245 26 66 52 218 166 236 139 62 103 242 182 101 234 174 288 59 300 111 144 223 72 216 9 41 10 278 32 19...
output:
Yes 150 99 240 206 215 91 127 278 69 254 229 266 211 180 205 183 270 198 261 1 48 258 231 148 280 159 21 225 237 109 54 196 77 284 89 189 233 247 217 257 193 291 42 221 213 15 163 14 121 245 26 66 52 218 166 236 139 62 103 242 182 101 234 174 288 59 300 111 144 223 72 216 9 41 228 85 157 134 177 23 ...
result:
ok ok (10 test cases)
Test #17:
score: 5
Accepted
time: 1265ms
memory: 21396kb
input:
10 500 137 394 193 219 137 113 369 248 464 74 408 167 383 399 482 149 154 147 6 50 69 440 437 29 286 427 307 141 228 373 296 244 273 428 44 266 341 173 255 487 114 332 416 405 367 312 323 163 133 339 20 170 26 67 96 195 241 14 205 233 291 179 478 235 381 151 185 469 82 473 441 421 311 118 350 404 23...
output:
Yes 193 219 137 113 369 248 464 74 408 167 383 399 482 149 154 147 6 50 69 440 437 29 286 427 307 141 228 373 296 244 273 428 44 266 341 173 255 487 114 332 416 405 367 312 323 163 133 339 20 170 26 67 96 195 241 14 205 233 291 179 478 235 381 151 185 469 82 473 441 421 311 118 350 404 230 218 472 3...
result:
ok ok (10 test cases)
Test #18:
score: 5
Accepted
time: 1495ms
memory: 20512kb
input:
10 500 481 22 422 263 216 135 73 497 183 188 119 498 338 39 111 113 469 372 274 348 15 456 459 82 21 98 209 76 360 5 481 198 153 147 138 278 131 330 270 350 293 492 426 95 468 27 225 47 65 467 473 440 279 352 475 248 17 33 456 210 70 421 55 208 46 464 277 314 15 426 427 25 300 30 150 417 306 448 492...
output:
Yes 422 263 216 135 73 497 183 188 119 498 338 39 111 113 469 372 274 348 15 456 459 82 176 309 66 299 239 487 102 37 106 214 118 22 374 72 280 447 140 58 311 253 203 164 116 353 26 227 136 496 94 210 336 81 162 288 261 182 90 219 221 17 46 4 465 97 172 349 54 257 185 9 127 334 158 292 35 31 110 362...
result:
ok ok (10 test cases)
Test #19:
score: 5
Accepted
time: 1029ms
memory: 21092kb
input:
10 500 30 446 375 376 479 293 237 104 108 215 262 4 444 241 436 121 443 195 50 166 234 165 285 315 412 469 92 159 302 44 252 9 392 487 3 495 28 96 341 253 466 352 365 32 176 401 483 60 247 8 58 371 143 68 158 201 364 42 381 240 22 272 427 183 306 235 66 144 438 138 437 208 52 122 174 209 15 102 445 ...
output:
Yes 375 376 479 293 237 104 108 215 262 4 444 241 436 121 443 195 50 166 234 165 285 315 412 469 92 159 302 44 252 9 392 487 3 495 28 96 341 253 466 352 365 32 176 401 483 60 247 8 58 371 143 68 158 201 364 42 381 240 22 272 427 183 306 235 66 144 438 138 437 208 52 122 174 209 15 102 445 428 465 85...
result:
ok ok (10 test cases)
Test #20:
score: 5
Accepted
time: 1273ms
memory: 18832kb
input:
10 500 204 440 401 43 120 246 337 382 241 103 329 272 343 439 9 435 159 355 468 281 333 54 158 479 106 88 50 288 204 412 317 70 78 446 121 238 458 338 230 239 313 263 237 249 115 27 56 107 282 132 117 74 32 113 84 105 413 102 371 184 12 148 373 262 83 29 283 331 209 134 125 67 60 147 459 82 270 316 ...
output:
Yes 401 43 120 246 337 382 241 103 329 272 343 439 9 435 159 355 468 281 333 54 158 479 106 88 50 288 204 412 317 70 78 446 121 238 458 338 230 239 313 263 237 249 115 27 56 107 282 132 117 74 32 113 84 105 413 102 371 184 12 148 373 262 83 29 283 331 209 134 125 67 60 147 459 82 270 316 244 3 4 28 ...
result:
ok ok (10 test cases)