Submission #73751275
Source Code Expand
#include <bits/stdc++.h>
#include <chrono>
using namespace std;
struct Timer {
std::chrono::high_resolution_clock::time_point start_time;
Timer() { start_time = std::chrono::high_resolution_clock::now(); }
double get_time() const {
auto end_time = std::chrono::high_resolution_clock::now();
return std::chrono::duration<double>(end_time - start_time).count();
}
};
uint32_t xorshift() {
static uint32_t x = 123456789;
static uint32_t y = 362436069;
static uint32_t z = 521288629;
static uint32_t w = 88675123;
uint32_t t = x ^ (x << 11);
x = y; y = z; z = w;
return w = (w ^ (w >> 19)) ^ (t ^ (t >> 8));
}
double rnd() { return xorshift() * 2.3283064365386962e-10; }
int R_c = 20, C_c = 20; // renamed to avoid macro conflict just in case
int dr[] = {-1, 0, 1, 0};
int dc[] = {0, 1, 0, -1};
// U=0, R=1, D=2, L=3
int encode_state(int r, int c, int d) {
return r * 80 + c * 4 + d;
}
int num_states = 1600;
enum EdgeType {
EDGE_F,
EDGE_R,
EDGE_L,
EDGE_F_UNTIL_R,
EDGE_F_UNTIL_L,
EDGE_F_UNTIL_STOP
};
struct Edge {
int to;
EdgeType type;
uint64_t cov[7];
};
short dist_st[1600][1600];
short parent_st[1600][1600];
EdgeType parent_edge_type[1600][1600];
uint64_t pre_cov[1600][1600][7];
int cell_visit_count[400] = {0};
int uncov_count = 400;
void add_path(int u, int v) {
for (int j = 0; j < 7; ++j) {
uint64_t mask = pre_cov[u][v][j];
while (mask) {
int bit = std::countr_zero(mask);
int cell = j * 64 + bit;
if (cell_visit_count[cell] == 0) uncov_count--;
cell_visit_count[cell]++;
mask &= mask - 1;
}
}
}
void rem_path(int u, int v) {
for (int j = 0; j < 7; ++j) {
uint64_t mask = pre_cov[u][v][j];
while (mask) {
int bit = std::countr_zero(mask);
int cell = j * 64 + bit;
cell_visit_count[cell]--;
if (cell_visit_count[cell] == 0) uncov_count++;
mask &= mask - 1;
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
Timer timer;
int N, Ak, Am, Aw;
if (!(cin >> N >> Ak >> Am >> Aw)) return 0;
vector<string> right_wall(N), down_wall(N - 1);
for (int i = 0; i < N; ++i) cin >> right_wall[i];
for (int i = 0; i < N - 1; ++i) cin >> down_wall[i];
vector<vector<Edge>> adj(num_states);
auto has_wall = [&](int r, int c, int d) {
if (d == 0) {
if (r == 0) return true;
return down_wall[r - 1][c] == '1';
} else if (d == 1) {
if (c == C_c - 1) return true;
return right_wall[r][c] == '1';
} else if (d == 2) {
if (r == R_c - 1) return true;
return down_wall[r][c] == '1';
} else if (d == 3) {
if (c == 0) return true;
return right_wall[r][c - 1] == '1';
}
return true;
};
for (int r = 0; r < R_c; ++r) {
for (int c = 0; c < C_c; ++c) {
for (int d = 0; d < 4; ++d) {
int u = encode_state(r, c, d);
// Micro edges (cost 1 state transition)
if (!has_wall(r, c, d)) {
int nr = r + dr[d];
int nc = c + dc[d];
int v = encode_state(nr, nc, d);
Edge e = {v, EDGE_F};
for (int j = 0; j<7; ++j) e.cov[j] = 0;
int cell_v = v / 4;
e.cov[cell_v / 64] |= (1ULL << (cell_v % 64));
adj[u].push_back(e);
}
{
int v = encode_state(r, c, (d + 1) % 4);
Edge e = {v, EDGE_R};
for (int j = 0; j<7; ++j) e.cov[j] = 0;
adj[u].push_back(e);
}
{
int v = encode_state(r, c, (d + 3) % 4);
Edge e = {v, EDGE_L};
for (int j = 0; j<7; ++j) e.cov[j] = 0;
adj[u].push_back(e);
}
// Macro edges (cost 1 state transition but multiple physical cells)
if (!has_wall(r, c, d)) {
int cr = r, cc = c;
uint64_t path_cov[7] = {0};
while (!has_wall(cr, cc, d)) {
cr += dr[d];
cc += dc[d];
int cell = (cr * C_c + cc);
path_cov[cell / 64] |= (1ULL << (cell % 64));
}
// Hit a wall at (cr, cc). We can turn Right, Left, or Stop.
int v_r = encode_state(cr, cc, (d + 1) % 4);
Edge e_r = {v_r, EDGE_F_UNTIL_R};
for (int j = 0; j<7; ++j) e_r.cov[j] = path_cov[j];
adj[u].push_back(e_r);
int v_l = encode_state(cr, cc, (d + 3) % 4);
Edge e_l = {v_l, EDGE_F_UNTIL_L};
for (int j = 0; j<7; ++j) e_l.cov[j] = path_cov[j];
adj[u].push_back(e_l);
// EDGE_F_UNTIL_STOP removed: on_wall='F' is illegal per problem constraints
// BFS can reach (cr,cc,d) via EDGE_F_UNTIL_R + EDGE_L or EDGE_F_UNTIL_L + EDGE_R
}
}
}
}
for (int s = 0; s < num_states; ++s) {
for (int i = 0; i < num_states; ++i) {
dist_st[s][i] = 10000;
parent_st[s][i] = -1;
for (int j = 0; j < 7; ++j) pre_cov[s][i][j] = 0;
}
dist_st[s][s] = 0;
int cell_s = s / 4;
pre_cov[s][s][cell_s / 64] |= (1ULL << (cell_s % 64));
queue<int> q;
q.push(s);
while (!q.empty()) {
int u = q.front(); q.pop();
for (const auto& e : adj[u]) {
int v = e.to;
if (dist_st[s][v] == 10000) {
dist_st[s][v] = dist_st[s][u] + 1;
parent_st[s][v] = u;
parent_edge_type[s][v] = e.type;
for (int j = 0; j < 7; ++j) {
pre_cov[s][v][j] = pre_cov[s][u][j] | e.cov[j];
}
if (e.type == EDGE_F && u == s) {
// The initial state cell coverage is already handled, this ensures the destination cell is added for F
int cell_v = v / 4;
pre_cov[s][v][cell_v / 64] |= (1ULL << (cell_v % 64));
}
q.push(v);
}
}
}
}
// Init TSP path
vector<int> current_W;
vector<bool> init_visited(400, false);
int cur_s = encode_state(0, 0, 1);
current_W.push_back(cur_s);
init_visited[0] = true;
for (int step = 1; step < 400; ++step) {
int best_v = -1;
int best_dist = 10000;
for (int c = 0; c < 400; ++c) {
if (init_visited[c]) continue;
for (int d = 0; d < 4; ++d) {
int v = c * 4 + d;
if (dist_st[cur_s][v] < best_dist) {
best_dist = dist_st[cur_s][v];
best_v = v;
}
}
}
init_visited[best_v / 4] = true;
current_W.push_back(best_v);
cur_s = best_v;
}
int current_len = 0;
for (int i = 0; i < current_W.size(); ++i) {
int u = current_W[i];
int v = current_W[(i + 1) % current_W.size()];
current_len += dist_st[u][v];
add_path(u, v);
}
int current_score = current_len + uncov_count * 10000;
vector<int> best_W = current_W;
int best_score = current_score;
double start_temp = 200.0;
double end_temp = 0.1;
int iter = 0;
while (true) {
if ((iter & 2047) == 0) {
if (timer.get_time() > 1.90) break;
}
iter++;
double elapsed = timer.get_time();
double temp = start_temp * pow(end_temp / start_temp, elapsed / 1.90);
int k = current_W.size();
if (k == 0) continue;
int type = xorshift() % 100;
if (uncov_count > 0 && type < 60) {
type = 50; // Force insert when cells are uncovered
}
if (type < 40 && k > 1) { // Delete
int idx = xorshift() % k;
int prev = current_W[(idx - 1 + k) % k];
int curr = current_W[idx];
int next = current_W[(idx + 1) % k];
int delta_len = dist_st[prev][next] - dist_st[prev][curr] - dist_st[curr][next];
rem_path(prev, curr);
rem_path(curr, next);
add_path(prev, next);
int next_score = current_len + delta_len + uncov_count * 10000;
if (next_score <= current_score || rnd() < exp((current_score - next_score) / temp)) {
current_score = next_score;
current_len += delta_len;
current_W.erase(current_W.begin() + idx);
if (current_score < best_score) {
best_score = current_score;
best_W = current_W;
}
} else {
rem_path(prev, next);
add_path(prev, curr);
add_path(curr, next);
}
} else if (type < 70) { // Insert
int new_c;
if (uncov_count > 0 && (xorshift() % 2 == 0)) {
vector<int> uncovs;
for (int i = 0; i < 400; ++i) if (cell_visit_count[i] == 0) uncovs.push_back(i);
new_c = uncovs[xorshift() % uncovs.size()];
} else {
new_c = xorshift() % 400;
}
int new_s = new_c * 4 + (xorshift() % 4);
int idx = xorshift() % (k + 1);
int prev = current_W[(idx - 1 + k) % k];
int next = current_W[idx % k];
if (idx == k && k == 1) {
prev = current_W[0];
next = current_W[0];
}
int delta_len = dist_st[prev][new_s] + dist_st[new_s][next] - dist_st[prev][next];
rem_path(prev, next);
add_path(prev, new_s);
add_path(new_s, next);
int next_score = current_len + delta_len + uncov_count * 10000;
if (next_score <= current_score || rnd() < exp((current_score - next_score) / temp)) {
current_score = next_score;
current_len += delta_len;
current_W.insert(current_W.begin() + idx, new_s);
if (current_score < best_score) {
best_score = current_score;
best_W = current_W;
}
} else {
rem_path(prev, new_s);
rem_path(new_s, next);
add_path(prev, next);
}
} else if (k > 1) { // Replace
int idx = xorshift() % k;
int new_c;
if (uncov_count > 0 && (xorshift() % 2 == 0)) {
vector<int> uncovs;
for (int i = 0; i < 400; ++i) if (cell_visit_count[i] == 0) uncovs.push_back(i);
new_c = uncovs[xorshift() % uncovs.size()];
} else {
new_c = xorshift() % 400;
}
int new_s = new_c * 4 + (xorshift() % 4);
int curr = current_W[idx];
if (curr == new_s) continue;
int prev = current_W[(idx - 1 + k) % k];
int next = current_W[(idx + 1) % k];
int delta_len = dist_st[prev][new_s] + dist_st[new_s][next] - dist_st[prev][curr] - dist_st[curr][next];
rem_path(prev, curr);
rem_path(curr, next);
add_path(prev, new_s);
add_path(new_s, next);
int next_score = current_len + delta_len + uncov_count * 10000;
if (next_score <= current_score || rnd() < exp((current_score - next_score) / temp)) {
current_score = next_score;
current_len += delta_len;
current_W[idx] = new_s;
if (current_score < best_score) {
best_score = current_score;
best_W = current_W;
}
} else {
rem_path(prev, new_s);
rem_path(new_s, next);
add_path(prev, curr);
add_path(curr, next);
}
}
}
struct OutputState {
char on_empty_cmd;
int on_empty_next;
char on_wall_cmd;
int on_wall_next;
bool mapped = false;
};
vector<OutputState> out_states;
auto add_state = [&](char ec, int en, char wc, int wn) {
out_states.push_back({ec, en, wc, wn, true});
return (int)out_states.size() - 1;
};
int start_s = best_W[0];
int init_r = (start_s / 4) / 20;
int init_c = (start_s / 4) % 20;
int init_d = start_s % 4;
char dc_char[] = {'U', 'R', 'D', 'L'};
int current_state_idx = 0; // Starting from state 0
out_states.push_back({'F', 0, 'R', 0, false}); // Placeholder for start state
// We only construct if best_W makes a valid cover.
for (int i = 0; i < best_W.size(); ++i) {
int u = best_W[i];
int v = best_W[(i + 1) % best_W.size()];
vector<int> path_nodes;
vector<EdgeType> path_edges;
int curr = v;
while (curr != u) {
path_nodes.push_back(curr);
path_edges.push_back(parent_edge_type[u][curr]);
curr = parent_st[u][curr];
}
reverse(path_nodes.begin(), path_nodes.end());
reverse(path_edges.begin(), path_edges.end());
for (int j = 0; j < path_nodes.size(); ++j) {
int next_node = path_nodes[j];
EdgeType e_type = path_edges[j];
int next_state_idx = current_state_idx + 1;
if (e_type == EDGE_F) {
out_states[current_state_idx] = {'F', next_state_idx, 'R', current_state_idx, true};
} else if (e_type == EDGE_R) {
out_states[current_state_idx] = {'R', next_state_idx, 'R', next_state_idx, true};
} else if (e_type == EDGE_L) {
out_states[current_state_idx] = {'L', next_state_idx, 'L', next_state_idx, true};
} else if (e_type == EDGE_F_UNTIL_R) {
out_states[current_state_idx] = {'F', current_state_idx, 'R', next_state_idx, true};
} else if (e_type == EDGE_F_UNTIL_L) {
out_states[current_state_idx] = {'F', current_state_idx, 'L', next_state_idx, true};
}
current_state_idx = next_state_idx;
out_states.push_back({'F', 0, 'R', 0, false}); // Prepare next state holder
}
}
// Output Loop ties the last state back to 0
out_states.pop_back(); // Remove the unfilled trailing state holder
if (!out_states.empty()) {
int last_idx = out_states.size() - 1;
if (out_states[last_idx].on_empty_next > last_idx) out_states[last_idx].on_empty_next = 0;
if (out_states[last_idx].on_wall_next > last_idx) out_states[last_idx].on_wall_next = 0;
}
int M = out_states.size();
cout << 1 << "\n";
cout << M << " " << init_r << " " << init_c << " " << dc_char[init_d] << "\n";
for (int i = 0; i < M; ++i) {
cout << out_states[i].on_empty_cmd << " " << out_states[i].on_empty_next << " "
<< out_states[i].on_wall_cmd << " " << out_states[i].on_wall_next << "\n";
}
// output remaining W walls (0 elements)
for (int i = 0; i < N; ++i) { for (int j = 0; j < N - 1; ++j) cout << "0"; cout << "\n"; }
for (int i = 0; i < N - 1; ++i) { for (int j = 0; j < N; ++j) cout << "0"; cout << "\n"; }
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Periodic Patrol Automata (B) |
| User | mol_626 |
| Language | C++23 (GCC 15.2.0) |
| Score | 1425723144 |
| Code Size | 16486 Byte |
| Status | AC |
| Exec Time | 1910 ms |
| Memory | 164800 KiB |
Compile Error
./Main.cpp: In function 'int main()':
./Main.cpp:128:40: warning: missing initializer for member 'Edge::cov' [-Wmissing-field-initializers]
128 | Edge e = {v, EDGE_F};
| ^
./Main.cpp:137:40: warning: missing initializer for member 'Edge::cov' [-Wmissing-field-initializers]
137 | Edge e = {v, EDGE_R};
| ^
./Main.cpp:144:40: warning: missing initializer for member 'Edge::cov' [-Wmissing-field-initializers]
144 | Edge e = {v, EDGE_L};
| ^
./Main.cpp:163:52: warning: missing initializer for member 'Edge::cov' [-Wmissing-field-initializers]
163 | Edge e_r = {v_r, EDGE_F_UNTIL_R};
| ^
./Main.cpp:168:52: warning: missing initializer for member 'Edge::cov' [-Wmissing-field-initializers]
168 | Edge e_l = {v_l, EDGE_F_UNTIL_L};
| ^
./Main.cpp:239:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
239 | for (int i = 0; i < current_W.size(); ++i) {
| ~~^~~~~~~~~~~~~~~~~~
./Main.cpp:401:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
401 | for (int i = 0; i < best_W.size(); ++i) {
| ~~^~~~~~~~~~~~~~~
./Main.cpp:417:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
417 | for (int j = 0; j < path_nodes.size(); ++j) {
| ~~^~~~~~~~~~~~~~~~~~~
./Main.cpp:418:17: warning: unused variable 'next_node' [-Wunused-variable]
418 | int next_node = path_nodes[j];
| ^~~~~~~~~
./Main.cpp:386:10: warning: variable 'add_state' set but not used [-Wunused-but-set-variable]
386 | auto add_state = [&](char ec, int en, char wc, int wn) {
| ^~~~~~~~~
Judge Result
| Set Name | test_ALL | ||
|---|---|---|---|
| Score / Max Score | 1425723144 / 15000000000 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| test_ALL | test_0000.txt, test_0001.txt, test_0002.txt, test_0003.txt, test_0004.txt, test_0005.txt, test_0006.txt, test_0007.txt, test_0008.txt, test_0009.txt, test_0010.txt, test_0011.txt, test_0012.txt, test_0013.txt, test_0014.txt, test_0015.txt, test_0016.txt, test_0017.txt, test_0018.txt, test_0019.txt, test_0020.txt, test_0021.txt, test_0022.txt, test_0023.txt, test_0024.txt, test_0025.txt, test_0026.txt, test_0027.txt, test_0028.txt, test_0029.txt, test_0030.txt, test_0031.txt, test_0032.txt, test_0033.txt, test_0034.txt, test_0035.txt, test_0036.txt, test_0037.txt, test_0038.txt, test_0039.txt, test_0040.txt, test_0041.txt, test_0042.txt, test_0043.txt, test_0044.txt, test_0045.txt, test_0046.txt, test_0047.txt, test_0048.txt, test_0049.txt, test_0050.txt, test_0051.txt, test_0052.txt, test_0053.txt, test_0054.txt, test_0055.txt, test_0056.txt, test_0057.txt, test_0058.txt, test_0059.txt, test_0060.txt, test_0061.txt, test_0062.txt, test_0063.txt, test_0064.txt, test_0065.txt, test_0066.txt, test_0067.txt, test_0068.txt, test_0069.txt, test_0070.txt, test_0071.txt, test_0072.txt, test_0073.txt, test_0074.txt, test_0075.txt, test_0076.txt, test_0077.txt, test_0078.txt, test_0079.txt, test_0080.txt, test_0081.txt, test_0082.txt, test_0083.txt, test_0084.txt, test_0085.txt, test_0086.txt, test_0087.txt, test_0088.txt, test_0089.txt, test_0090.txt, test_0091.txt, test_0092.txt, test_0093.txt, test_0094.txt, test_0095.txt, test_0096.txt, test_0097.txt, test_0098.txt, test_0099.txt, test_0100.txt, test_0101.txt, test_0102.txt, test_0103.txt, test_0104.txt, test_0105.txt, test_0106.txt, test_0107.txt, test_0108.txt, test_0109.txt, test_0110.txt, test_0111.txt, test_0112.txt, test_0113.txt, test_0114.txt, test_0115.txt, test_0116.txt, test_0117.txt, test_0118.txt, test_0119.txt, test_0120.txt, test_0121.txt, test_0122.txt, test_0123.txt, test_0124.txt, test_0125.txt, test_0126.txt, test_0127.txt, test_0128.txt, test_0129.txt, test_0130.txt, test_0131.txt, test_0132.txt, test_0133.txt, test_0134.txt, test_0135.txt, test_0136.txt, test_0137.txt, test_0138.txt, test_0139.txt, test_0140.txt, test_0141.txt, test_0142.txt, test_0143.txt, test_0144.txt, test_0145.txt, test_0146.txt, test_0147.txt, test_0148.txt, test_0149.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| test_0000.txt | AC | 1909 ms | 164728 KiB |
| test_0001.txt | AC | 1908 ms | 164604 KiB |
| test_0002.txt | AC | 1909 ms | 164752 KiB |
| test_0003.txt | AC | 1909 ms | 164728 KiB |
| test_0004.txt | AC | 1909 ms | 164752 KiB |
| test_0005.txt | AC | 1909 ms | 164728 KiB |
| test_0006.txt | AC | 1909 ms | 164752 KiB |
| test_0007.txt | AC | 1909 ms | 164580 KiB |
| test_0008.txt | AC | 1909 ms | 164636 KiB |
| test_0009.txt | AC | 1910 ms | 164756 KiB |
| test_0010.txt | AC | 1909 ms | 164704 KiB |
| test_0011.txt | AC | 1909 ms | 164728 KiB |
| test_0012.txt | AC | 1909 ms | 164576 KiB |
| test_0013.txt | AC | 1910 ms | 164756 KiB |
| test_0014.txt | AC | 1909 ms | 164576 KiB |
| test_0015.txt | AC | 1910 ms | 164784 KiB |
| test_0016.txt | AC | 1909 ms | 164628 KiB |
| test_0017.txt | AC | 1909 ms | 164564 KiB |
| test_0018.txt | AC | 1909 ms | 164728 KiB |
| test_0019.txt | AC | 1909 ms | 164580 KiB |
| test_0020.txt | AC | 1909 ms | 164728 KiB |
| test_0021.txt | AC | 1910 ms | 164580 KiB |
| test_0022.txt | AC | 1910 ms | 164716 KiB |
| test_0023.txt | AC | 1909 ms | 164784 KiB |
| test_0024.txt | AC | 1909 ms | 164728 KiB |
| test_0025.txt | AC | 1910 ms | 164720 KiB |
| test_0026.txt | AC | 1909 ms | 164536 KiB |
| test_0027.txt | AC | 1910 ms | 164604 KiB |
| test_0028.txt | AC | 1909 ms | 164756 KiB |
| test_0029.txt | AC | 1910 ms | 164604 KiB |
| test_0030.txt | AC | 1910 ms | 164660 KiB |
| test_0031.txt | AC | 1909 ms | 164628 KiB |
| test_0032.txt | AC | 1909 ms | 164784 KiB |
| test_0033.txt | AC | 1909 ms | 164728 KiB |
| test_0034.txt | AC | 1909 ms | 164628 KiB |
| test_0035.txt | AC | 1909 ms | 164664 KiB |
| test_0036.txt | AC | 1909 ms | 164784 KiB |
| test_0037.txt | AC | 1909 ms | 164800 KiB |
| test_0038.txt | AC | 1909 ms | 164800 KiB |
| test_0039.txt | AC | 1909 ms | 164716 KiB |
| test_0040.txt | AC | 1909 ms | 164704 KiB |
| test_0041.txt | AC | 1910 ms | 164760 KiB |
| test_0042.txt | AC | 1909 ms | 164688 KiB |
| test_0043.txt | AC | 1910 ms | 164784 KiB |
| test_0044.txt | AC | 1909 ms | 164636 KiB |
| test_0045.txt | AC | 1910 ms | 164760 KiB |
| test_0046.txt | AC | 1910 ms | 164576 KiB |
| test_0047.txt | AC | 1909 ms | 164784 KiB |
| test_0048.txt | AC | 1909 ms | 164580 KiB |
| test_0049.txt | AC | 1909 ms | 164756 KiB |
| test_0050.txt | AC | 1910 ms | 164564 KiB |
| test_0051.txt | AC | 1910 ms | 164580 KiB |
| test_0052.txt | AC | 1909 ms | 164716 KiB |
| test_0053.txt | AC | 1909 ms | 164784 KiB |
| test_0054.txt | AC | 1909 ms | 164580 KiB |
| test_0055.txt | AC | 1909 ms | 164588 KiB |
| test_0056.txt | AC | 1909 ms | 164588 KiB |
| test_0057.txt | AC | 1909 ms | 164576 KiB |
| test_0058.txt | AC | 1909 ms | 164636 KiB |
| test_0059.txt | AC | 1910 ms | 164576 KiB |
| test_0060.txt | AC | 1909 ms | 164704 KiB |
| test_0061.txt | AC | 1909 ms | 164576 KiB |
| test_0062.txt | AC | 1909 ms | 164732 KiB |
| test_0063.txt | AC | 1909 ms | 164604 KiB |
| test_0064.txt | AC | 1909 ms | 164760 KiB |
| test_0065.txt | AC | 1909 ms | 164564 KiB |
| test_0066.txt | AC | 1910 ms | 164800 KiB |
| test_0067.txt | AC | 1910 ms | 164800 KiB |
| test_0068.txt | AC | 1910 ms | 164576 KiB |
| test_0069.txt | AC | 1910 ms | 164564 KiB |
| test_0070.txt | AC | 1909 ms | 164560 KiB |
| test_0071.txt | AC | 1909 ms | 164688 KiB |
| test_0072.txt | AC | 1909 ms | 164760 KiB |
| test_0073.txt | AC | 1910 ms | 164604 KiB |
| test_0074.txt | AC | 1910 ms | 164728 KiB |
| test_0075.txt | AC | 1909 ms | 164560 KiB |
| test_0076.txt | AC | 1909 ms | 164728 KiB |
| test_0077.txt | AC | 1909 ms | 164628 KiB |
| test_0078.txt | AC | 1909 ms | 164636 KiB |
| test_0079.txt | AC | 1909 ms | 164588 KiB |
| test_0080.txt | AC | 1909 ms | 164760 KiB |
| test_0081.txt | AC | 1909 ms | 164704 KiB |
| test_0082.txt | AC | 1910 ms | 164728 KiB |
| test_0083.txt | AC | 1910 ms | 164576 KiB |
| test_0084.txt | AC | 1909 ms | 164752 KiB |
| test_0085.txt | AC | 1909 ms | 164604 KiB |
| test_0086.txt | AC | 1909 ms | 164760 KiB |
| test_0087.txt | AC | 1910 ms | 164728 KiB |
| test_0088.txt | AC | 1909 ms | 164636 KiB |
| test_0089.txt | AC | 1910 ms | 164728 KiB |
| test_0090.txt | AC | 1910 ms | 164784 KiB |
| test_0091.txt | AC | 1909 ms | 164688 KiB |
| test_0092.txt | AC | 1910 ms | 164688 KiB |
| test_0093.txt | AC | 1909 ms | 164728 KiB |
| test_0094.txt | AC | 1909 ms | 164728 KiB |
| test_0095.txt | AC | 1909 ms | 164756 KiB |
| test_0096.txt | AC | 1910 ms | 164784 KiB |
| test_0097.txt | AC | 1910 ms | 164676 KiB |
| test_0098.txt | AC | 1909 ms | 164728 KiB |
| test_0099.txt | AC | 1909 ms | 164580 KiB |
| test_0100.txt | AC | 1909 ms | 164688 KiB |
| test_0101.txt | AC | 1910 ms | 164784 KiB |
| test_0102.txt | AC | 1909 ms | 164616 KiB |
| test_0103.txt | AC | 1909 ms | 164752 KiB |
| test_0104.txt | AC | 1909 ms | 164476 KiB |
| test_0105.txt | AC | 1910 ms | 164728 KiB |
| test_0106.txt | AC | 1909 ms | 164760 KiB |
| test_0107.txt | AC | 1909 ms | 164728 KiB |
| test_0108.txt | AC | 1910 ms | 164760 KiB |
| test_0109.txt | AC | 1910 ms | 164688 KiB |
| test_0110.txt | AC | 1909 ms | 164588 KiB |
| test_0111.txt | AC | 1909 ms | 164784 KiB |
| test_0112.txt | AC | 1909 ms | 164756 KiB |
| test_0113.txt | AC | 1909 ms | 164688 KiB |
| test_0114.txt | AC | 1909 ms | 164784 KiB |
| test_0115.txt | AC | 1910 ms | 164580 KiB |
| test_0116.txt | AC | 1909 ms | 164728 KiB |
| test_0117.txt | AC | 1910 ms | 164728 KiB |
| test_0118.txt | AC | 1909 ms | 164800 KiB |
| test_0119.txt | AC | 1910 ms | 164688 KiB |
| test_0120.txt | AC | 1909 ms | 164580 KiB |
| test_0121.txt | AC | 1910 ms | 164680 KiB |
| test_0122.txt | AC | 1909 ms | 164636 KiB |
| test_0123.txt | AC | 1910 ms | 164756 KiB |
| test_0124.txt | AC | 1909 ms | 164800 KiB |
| test_0125.txt | AC | 1910 ms | 164608 KiB |
| test_0126.txt | AC | 1909 ms | 164580 KiB |
| test_0127.txt | AC | 1909 ms | 164588 KiB |
| test_0128.txt | AC | 1910 ms | 164800 KiB |
| test_0129.txt | AC | 1910 ms | 164564 KiB |
| test_0130.txt | AC | 1910 ms | 164728 KiB |
| test_0131.txt | AC | 1910 ms | 164756 KiB |
| test_0132.txt | AC | 1909 ms | 164760 KiB |
| test_0133.txt | AC | 1909 ms | 164784 KiB |
| test_0134.txt | AC | 1910 ms | 164784 KiB |
| test_0135.txt | AC | 1909 ms | 164564 KiB |
| test_0136.txt | AC | 1909 ms | 164756 KiB |
| test_0137.txt | AC | 1909 ms | 164628 KiB |
| test_0138.txt | AC | 1910 ms | 164728 KiB |
| test_0139.txt | AC | 1909 ms | 164628 KiB |
| test_0140.txt | AC | 1909 ms | 164728 KiB |
| test_0141.txt | AC | 1909 ms | 164760 KiB |
| test_0142.txt | AC | 1909 ms | 164728 KiB |
| test_0143.txt | AC | 1909 ms | 164688 KiB |
| test_0144.txt | AC | 1910 ms | 164688 KiB |
| test_0145.txt | AC | 1909 ms | 164604 KiB |
| test_0146.txt | AC | 1909 ms | 164800 KiB |
| test_0147.txt | AC | 1910 ms | 164728 KiB |
| test_0148.txt | AC | 1910 ms | 164800 KiB |
| test_0149.txt | AC | 1910 ms | 164580 KiB |