提出 #64986282
ソースコード 拡げる
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Main {
static InputStream is;
static PrintWriter out;
static String INPUT = "";
static SplittableRandom gen = new SplittableRandom(114514810);
static int X, Y, Z;
static final boolean debug = false;
public Main() throws IOException, FileNotFoundException {
}
static class SubProblem {
List<Integer> org_row_idx_first;
List<Integer> org_row_idx_second;
long first_co[][];
long second_co[][];
SubProblem(
List<Integer> org_row_idx_first,
List<Integer> org_row_idx_second,
long first_co[][],
long second_co[][]
) {
this.org_row_idx_first = org_row_idx_first;
this.org_row_idx_second = org_row_idx_second;
this.first_co = first_co;
this.second_co = second_co;
}
long balance(){
long ans = 0;
for(int i = 0 ; i < first_co.length ; i++){
for(int j = 0 ; j < first_co.length ; j++){
ans += (first_co[i][0] - first_co[j][0]) * (first_co[i][0] - first_co[j][0]) + (first_co[i][1] - first_co[j][1]) * (first_co[i][1] - first_co[j][1]);
}
}
for(int i = 0 ; i < second_co.length ; i++){
for(int j = 0 ; j < second_co.length ; j++){
ans += (second_co[i][0] - second_co[j][0]) * (second_co[i][0] - second_co[j][0]) + (second_co[i][1] - second_co[j][1]) * (second_co[i][1] - second_co[j][1]);
}
}
return ans;
}
static SubProblem split(long cox[][], Predicate<long[]> predicate) {
List<long[]> first = new ArrayList<>();
List<long[]> second = new ArrayList<>();
List<Integer> org_row_idx_first = new ArrayList<>();
List<Integer> org_row_idx_second = new ArrayList<>();
for (int i = 0; i < cox.length; i++) {
if (predicate.test(cox[i])) {
org_row_idx_first.add(i);
first.add(cox[i]);
} else {
org_row_idx_second.add(i);
second.add(cox[i]);
}
}
return new SubProblem(org_row_idx_first, org_row_idx_second, first.toArray(new long[0][]), second.toArray(new long[0][]));
}
}
static long[][] append(long[][] org, long[] p1, long[] p2){
long[][] ans = new long[org.length+2][2];
for(int i = 0 ; i < org.length ; i++)
ans[i] = org[i];
ans[org.length] = p1;
ans[org.length+1] = p2;
return ans;
}
// 2点を持って貪欲
static void solve() {
long S = System.currentTimeMillis();
X = ni();
Y = ni();
Z = ni();
long[][] cox, coy, coz;
cox = nml(X, 2);
coy = nml(Y, 2);
coz = nml(Z, 2);
SubProblem xSub = null;
SubProblem ySub = null;
for(int i = 0 ; i < 1000 ; i++){
// Generate two random points with coordinates less than 1000000
long[] p1 = new long[]{gen.nextInt(1000000), gen.nextInt(1000000)};
long[] p2 = new long[]{gen.nextInt(1000000), gen.nextInt(1000000)};
// Use cross product (orient function) to determine which side of the line each point falls on
SubProblem xSub_ = SubProblem.split(cox, (co) -> orient(p1, p2, co) > 0);
SubProblem ySub_ = SubProblem.split(coy, (co) -> orient(p1, p2, co) < 0);
if( xSub == null || xSub_.balance() + ySub_.balance() < xSub.balance() + ySub.balance() ) {
xSub = xSub_;
ySub = ySub_;
System.err.println(xSub.first_co.length + " " + xSub.second_co.length + "|" + ySub.first_co.length + " " + ySub.second_co.length);
}
}
assert Y == 0;
Result bestA = null;
long rep = 0;
while (System.currentTimeMillis() - S < 900) {
rep++;
Result res = greedy_solve(bestA != null && bestA.count == xSub.first_co.length ? bestA.time : 1.5e7, xSub.first_co, coy, coz, xSub.org_row_idx_first, -1, -1);
if (bestA == null || bestA.count < res.count || (bestA.count == res.count && bestA.time > res.time)) {
bestA = res;
System.err.println(bestA.time);
}
}
Result bestB = null;
while (System.currentTimeMillis() - S < 1800) {
rep++;
Result res = greedy_solve(bestB != null && bestB.count == ySub.first_co.length ? bestB.time : 1.5e7, ySub.first_co, cox, coz, ySub.org_row_idx_first, -1, -1);
if (bestB == null || bestB.count < res.count || (bestB.count == res.count && bestB.time > res.time)) {
bestB = res;
System.err.println(bestB.time);
}
}
MergedResult firstBest = new MergedResult(bestA, bestB, cox, coy);
xSub.org_row_idx_second.add(bestA.route.get(bestA.route.size()-2));
xSub.org_row_idx_second.add(bestA.route.get(bestA.route.size()-1));
Result easyA = greedy_solve(1.5e7, append(xSub.second_co, cox[bestA.route.get(bestA.route.size()-2)], cox[bestA.route.get(bestA.route.size()-1)]), ySub.second_co, new long[0][], xSub.org_row_idx_second, xSub.second_co.length, xSub.second_co.length+1);
ySub.org_row_idx_second.add(bestB.route.get(bestB.route.size()-2));
ySub.org_row_idx_second.add(bestB.route.get(bestB.route.size()-1));
Result easyB = greedy_solve(1.5e7, append(ySub.second_co, coy[bestB.route.get(bestB.route.size()-2)], coy[bestB.route.get(bestB.route.size()-1)]), xSub.second_co , new long[0][], ySub.org_row_idx_second, ySub.second_co.length, ySub.second_co.length+1);
MergedResult second = new MergedResult(easyA, easyB, cox, coy);
if (debug) {
tr("best.time", bestA.time);
tr("best.count", bestA.count);
tr("rep", rep);
tr("steps", steps);
} else {
firstBest.show();;
second.show();;
}
}
static class Result {
List<Integer> route;
double time;
int count;
public Result(List<Integer> route, double time, int count, List<Integer> idxMap) {
this.route = route.stream().map(r -> idxMap.get(r)).collect(Collectors.toList());
this.time = time;
this.count = count;
}
}
static class MergedResult {
long[][] output;
double time;
int count;
public MergedResult(final Result x, final Result y, long cox[][], long coy[][]) {
assert x.route.size() % 2 == 0;
assert y.route.size() % 2 == 0;
long[][] output = new long[Math.max(x.route.size() / 2, y.route.size() / 2)][8];
int lastIndex_X = -1;
int lastIndex_Y = -1;
for (int i = 0; i < output.length; i++) {
if (i * 2 + 1 < x.route.size()) {
int a = x.route.get(i * 2);
int b = x.route.get(i * 2 + 1);
output[i][0] = cox[a][0];
output[i][1] = cox[a][1];
output[i][2] = cox[b][0];
output[i][3] = cox[b][1];
lastIndex_X = i;
} else {
output[i][0] = output[lastIndex_X][0];
output[i][1] = output[lastIndex_X][1];
output[i][2] = output[lastIndex_X][2];
output[i][3] = output[lastIndex_X][3];
}
if (i * 2 + 1 < y.route.size()) {
int a = y.route.get(i * 2);
int b = y.route.get(i * 2 + 1);
output[i][4] = coy[a][0];
output[i][5] = coy[a][1];
output[i][6] = coy[b][0];
output[i][7] = coy[b][1];
lastIndex_Y = i;
} else {
output[i][4] = output[lastIndex_Y][4];
output[i][5] = output[lastIndex_Y][5];
output[i][6] = output[lastIndex_Y][6];
output[i][7] = output[lastIndex_Y][7];
}
}
double score = 0;
for (int i = 0; i + 1 < output.length; i++) {
double aa = Math.sqrt(d2(new long[]{output[i][0], output[i][1]}, new long[]{output[i + 1][0], output[i + 1][1]}));
double bb = Math.sqrt(d2(new long[]{output[i][2], output[i][3]}, new long[]{output[i + 1][2], output[i + 1][3]}));
double cc = Math.sqrt(d2(new long[]{output[i][4], output[i][5]}, new long[]{output[i + 1][4], output[i + 1][5]}));
double dd = Math.sqrt(d2(new long[]{output[i][6], output[i][7]}, new long[]{output[i + 1][6], output[i + 1][7]}));
score += Math.max(aa + bb, cc + dd);
}
this.time = score;
this.output = output;
this.count = x.count + y.count;
}
void show() {
for (int i = 0; i < output.length; i++) {
out.println(Arrays.stream(output[i]).mapToObj(e -> String.valueOf(e)).collect(Collectors.joining(" ")));
}
}
}
static long steps = 0;
static Result greedy_solve(double lim, long[][] cox, long[][] coy, long[][] coz, List<Integer> orgIdxMap,int L,int R) {
int X = cox.length;
int Y = coy.length;
int Z = coz.length;
List<Integer> route = new ArrayList<>();
boolean[] ved = new boolean[X];
int l = gen.nextInt(X);
int r = gen.nextInt(X);
if( L != -1 ) l = L;
if( R != -1 ) r = R;
ved[l] = ved[r] = true;
route.add(l);
route.add(r);
double time = 0;
// int side = 0;
while (!allTrue(ved) && time <= lim) {
int argi = -1;
int argp = -1;
double argt = 0;
double argpdt = -1;
inner:
for (int i = 0; i < X; i++) {
if (i == l) continue;
// 障害物を通らないこと
for (int k = 0; k < Z; k++) {
if (contains(coz[k], cox[l], cox[r], cox[i])) {
continue inner;
}
}
for (int k = 0; k < Y; k++) {
if (contains(coy[k], cox[l], cox[r], cox[i])) {
continue inner;
}
}
int plus = 0;
double dt = Math.sqrt(d2(cox[l], cox[i]));
if (time + dt >= lim) continue;
for (int k = 0; k < X; k++) {
if (ved[k]) continue;
steps++;
if (contains(cox[k], cox[l], cox[r], cox[i])) {
plus += 1;
}
}
double pdt = plus / dt;
if (pdt > argpdt || (pdt == argpdt && plus > argp) || (pdt == argpdt && plus == argp && dt < argt)) {
argi = i;
argp = plus;
argt = dt;
argpdt = pdt;
}
}
if (argi == -1) break;
for (int k = 0; k < X; k++) {
if (ved[k]) continue;
if (contains(cox[k], cox[l], cox[r], cox[argi])) {
ved[k] = true;
}
}
// tr(l, r, argi, argt);
l = r;
r = argi;
time += argt;
route.add(argi);
}
if (route.size() % 2 == 1) {
route.add(route.get(route.size() - 2));
}
// tr(count(ved));
return new Result(route, time, count(ved), orgIdxMap);
}
static long d2(long[] a, long[] b) {
return (a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]);
}
static int count(boolean[] b) {
int count = 0;
for (boolean bb : b) {
if (bb) count++;
}
return count;
}
static boolean allTrue(boolean[] b) {
for (boolean bb : b) {
if (!bb) return false;
}
return true;
}
// 2D orientation: positive if p is to the left of the line a→b, negative if to the right, zero if colinear
public static long orient(long[] a, long[] b, long[] p) {
return (b[0] - a[0]) * (p[1] - a[1]) - (b[1] - a[1]) * (p[0] - a[0]);
}
// Check if point p is inside triangle abc or on its boundary
public static boolean contains(long[] p, long[] a, long[] b, long[] c) {
// Degenerate case: triangle is colinear
if (orient(a, b, c) == 0) {
if (orient(a, b, p) != 0 || orient(a, c, p) != 0) {
return false;
}
long minX = Math.min(a[0], Math.min(b[0], c[0]));
long maxX = Math.max(a[0], Math.max(b[0], c[0]));
long minY = Math.min(a[1], Math.min(b[1], c[1]));
long maxY = Math.max(a[1], Math.max(b[1], c[1]));
return minX <= p[0] && p[0] <= maxX && minY <= p[1] && p[1] <= maxY;
}
// Non-degenerate triangle: check that p lies on the same side of all edges
long c1 = orient(a, b, p);
long c2 = orient(b, c, p);
long c3 = orient(c, a, p);
return (c1 >= 0 && c2 >= 0 && c3 >= 0) || (c1 <= 0 && c2 <= 0 && c3 <= 0);
}
public static void main(String[] args) throws Exception {
long S = System.currentTimeMillis();
is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
out = new PrintWriter(System.out);
if (Files.exists(Path.of("/home/kyuridenamida/masters-2025-final/kyuridenamida/sol/in.txt"))) {
is = new FileInputStream("/home/kyuridenamida/masters-2025-final/kyuridenamida/sol/in.txt");
out = new PrintWriter(new FileOutputStream("/home/kyuridenamida/masters-2025-final/kyuridenamida/sol/out.txt"));
}
solve();
out.flush();
long G = System.currentTimeMillis();
tr(G - S + "ms");
}
private static boolean eof() {
if (lenbuf == -1) return true;
int lptr = ptrbuf;
while (lptr < lenbuf) if (!isSpaceChar(inbuf[lptr++])) return false;
try {
is.mark(1000);
while (true) {
int b = is.read();
if (b == -1) {
is.reset();
return true;
} else if (!isSpaceChar(b)) {
is.reset();
return false;
}
}
} catch (IOException e) {
return true;
}
}
private static byte[] inbuf = new byte[1024];
static int lenbuf = 0, ptrbuf = 0;
private static int readByte() {
if (lenbuf == -1) throw new InputMismatchException();
if (ptrbuf >= lenbuf) {
ptrbuf = 0;
try {
lenbuf = is.read(inbuf);
} catch (IOException e) {
throw new InputMismatchException();
}
if (lenbuf <= 0) return -1;
}
return inbuf[ptrbuf++];
}
private static boolean isSpaceChar(int c) {
return !(c >= 33 && c <= 126);
}
// private static boolean isSpaceChar(int c) { return !(c >= 32 && c <= 126); }
private static int skip() {
int b;
while ((b = readByte()) != -1 && isSpaceChar(b)) ;
return b;
}
private static double nd() {
return Double.parseDouble(ns());
}
private static char nc() {
return (char) skip();
}
private static String ns() {
int b = skip();
StringBuilder sb = new StringBuilder();
while (!(isSpaceChar(b))) {
sb.appendCodePoint(b);
b = readByte();
}
return sb.toString();
}
private static char[] ns(int n) {
char[] buf = new char[n];
int b = skip(), p = 0;
while (p < n && !(isSpaceChar(b))) {
buf[p++] = (char) b;
b = readByte();
}
return n == p ? buf : Arrays.copyOf(buf, p);
}
private static char[][] nm(int n, int m) {
char[][] map = new char[n][];
for (int i = 0; i < n; i++) map[i] = ns(m);
return map;
}
private static int[][] nmi(int n, int m) {
int[][] map = new int[n][];
for (int i = 0; i < n; i++) map[i] = na(m);
return map;
}
private static long[][] nml(int n, int m) {
long[][] map = new long[n][];
for (int i = 0; i < n; i++) map[i] = nal(m);
return map;
}
private static int[] na(int n) {
int[] a = new int[n];
for (int i = 0; i < n; i++) a[i] = ni();
return a;
}
private static long[] nal(int n) {
long[] a = new long[n];
for (int i = 0; i < n; i++) a[i] = nl();
return a;
}
private static int ni() {
int num = 0, b;
boolean minus = false;
while ((b = readByte()) != -1 && !((b >= '0' && b <= '9') || b == '-')) ;
if (b == '-') {
minus = true;
b = readByte();
}
while (true) {
if (b >= '0' && b <= '9') {
num = num * 10 + (b - '0');
} else {
return minus ? -num : num;
}
b = readByte();
}
}
private static long nl() {
long num = 0;
int b;
boolean minus = false;
while ((b = readByte()) != -1 && !((b >= '0' && b <= '9') || b == '-')) ;
if (b == '-') {
minus = true;
b = readByte();
}
while (true) {
if (b >= '0' && b <= '9') {
num = num * 10 + (b - '0');
} else {
return minus ? -num : num;
}
b = readByte();
}
}
private static void tr(Object... o) {
if (INPUT.length() != 0) System.out.println(Arrays.deepToString(o));
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Cooperative Trash Sorting (B) |
| ユーザ | kyuridenamida |
| 言語 | Java (OpenJDK 17) |
| 得点 | 692058812 |
| コード長 | 18947 Byte |
| 結果 | AC |
| 実行時間 | 1891 ms |
| メモリ | 62568 KiB |
ジャッジ結果
| セット名 | test_ALL | ||
|---|---|---|---|
| 得点 / 配点 | 692058812 / 1500000000 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| test_0000.txt | AC | 1888 ms | 58512 KiB |
| test_0001.txt | AC | 1857 ms | 57640 KiB |
| test_0002.txt | AC | 1860 ms | 59496 KiB |
| test_0003.txt | AC | 1859 ms | 55616 KiB |
| test_0004.txt | AC | 1856 ms | 58368 KiB |
| test_0005.txt | AC | 1856 ms | 58300 KiB |
| test_0006.txt | AC | 1858 ms | 55132 KiB |
| test_0007.txt | AC | 1858 ms | 56328 KiB |
| test_0008.txt | AC | 1857 ms | 56932 KiB |
| test_0009.txt | AC | 1856 ms | 56672 KiB |
| test_0010.txt | AC | 1859 ms | 58516 KiB |
| test_0011.txt | AC | 1853 ms | 54240 KiB |
| test_0012.txt | AC | 1858 ms | 58368 KiB |
| test_0013.txt | AC | 1855 ms | 56796 KiB |
| test_0014.txt | AC | 1859 ms | 59472 KiB |
| test_0015.txt | AC | 1860 ms | 55856 KiB |
| test_0016.txt | AC | 1859 ms | 58392 KiB |
| test_0017.txt | AC | 1889 ms | 57680 KiB |
| test_0018.txt | AC | 1860 ms | 60976 KiB |
| test_0019.txt | AC | 1858 ms | 59316 KiB |
| test_0020.txt | AC | 1865 ms | 55760 KiB |
| test_0021.txt | AC | 1856 ms | 55544 KiB |
| test_0022.txt | AC | 1857 ms | 55312 KiB |
| test_0023.txt | AC | 1857 ms | 57976 KiB |
| test_0024.txt | AC | 1889 ms | 59056 KiB |
| test_0025.txt | AC | 1856 ms | 57056 KiB |
| test_0026.txt | AC | 1861 ms | 56788 KiB |
| test_0027.txt | AC | 1856 ms | 55520 KiB |
| test_0028.txt | AC | 1860 ms | 56212 KiB |
| test_0029.txt | AC | 1857 ms | 57660 KiB |
| test_0030.txt | AC | 1859 ms | 55976 KiB |
| test_0031.txt | AC | 1860 ms | 57292 KiB |
| test_0032.txt | AC | 1855 ms | 56512 KiB |
| test_0033.txt | AC | 1858 ms | 56628 KiB |
| test_0034.txt | AC | 1855 ms | 54680 KiB |
| test_0035.txt | AC | 1885 ms | 60744 KiB |
| test_0036.txt | AC | 1891 ms | 56912 KiB |
| test_0037.txt | AC | 1856 ms | 55548 KiB |
| test_0038.txt | AC | 1856 ms | 58912 KiB |
| test_0039.txt | AC | 1882 ms | 56508 KiB |
| test_0040.txt | AC | 1856 ms | 58052 KiB |
| test_0041.txt | AC | 1862 ms | 55552 KiB |
| test_0042.txt | AC | 1859 ms | 56436 KiB |
| test_0043.txt | AC | 1859 ms | 57064 KiB |
| test_0044.txt | AC | 1855 ms | 58668 KiB |
| test_0045.txt | AC | 1860 ms | 55536 KiB |
| test_0046.txt | AC | 1854 ms | 55040 KiB |
| test_0047.txt | AC | 1859 ms | 55256 KiB |
| test_0048.txt | AC | 1862 ms | 56164 KiB |
| test_0049.txt | AC | 1860 ms | 60280 KiB |
| test_0050.txt | AC | 1857 ms | 55696 KiB |
| test_0051.txt | AC | 1885 ms | 56544 KiB |
| test_0052.txt | AC | 1857 ms | 55632 KiB |
| test_0053.txt | AC | 1856 ms | 56428 KiB |
| test_0054.txt | AC | 1861 ms | 60348 KiB |
| test_0055.txt | AC | 1856 ms | 55612 KiB |
| test_0056.txt | AC | 1855 ms | 58040 KiB |
| test_0057.txt | AC | 1858 ms | 55644 KiB |
| test_0058.txt | AC | 1862 ms | 59380 KiB |
| test_0059.txt | AC | 1858 ms | 55784 KiB |
| test_0060.txt | AC | 1856 ms | 55432 KiB |
| test_0061.txt | AC | 1857 ms | 56172 KiB |
| test_0062.txt | AC | 1860 ms | 56312 KiB |
| test_0063.txt | AC | 1858 ms | 56488 KiB |
| test_0064.txt | AC | 1858 ms | 56508 KiB |
| test_0065.txt | AC | 1860 ms | 57708 KiB |
| test_0066.txt | AC | 1859 ms | 57416 KiB |
| test_0067.txt | AC | 1860 ms | 58768 KiB |
| test_0068.txt | AC | 1859 ms | 55092 KiB |
| test_0069.txt | AC | 1857 ms | 61928 KiB |
| test_0070.txt | AC | 1855 ms | 57004 KiB |
| test_0071.txt | AC | 1859 ms | 58520 KiB |
| test_0072.txt | AC | 1861 ms | 55916 KiB |
| test_0073.txt | AC | 1854 ms | 55204 KiB |
| test_0074.txt | AC | 1860 ms | 56688 KiB |
| test_0075.txt | AC | 1857 ms | 56624 KiB |
| test_0076.txt | AC | 1856 ms | 58676 KiB |
| test_0077.txt | AC | 1855 ms | 58840 KiB |
| test_0078.txt | AC | 1859 ms | 55964 KiB |
| test_0079.txt | AC | 1857 ms | 54840 KiB |
| test_0080.txt | AC | 1859 ms | 55752 KiB |
| test_0081.txt | AC | 1885 ms | 57396 KiB |
| test_0082.txt | AC | 1858 ms | 56832 KiB |
| test_0083.txt | AC | 1859 ms | 56480 KiB |
| test_0084.txt | AC | 1859 ms | 57568 KiB |
| test_0085.txt | AC | 1890 ms | 59456 KiB |
| test_0086.txt | AC | 1857 ms | 56632 KiB |
| test_0087.txt | AC | 1855 ms | 55748 KiB |
| test_0088.txt | AC | 1857 ms | 54740 KiB |
| test_0089.txt | AC | 1858 ms | 56496 KiB |
| test_0090.txt | AC | 1860 ms | 59296 KiB |
| test_0091.txt | AC | 1858 ms | 57900 KiB |
| test_0092.txt | AC | 1860 ms | 58056 KiB |
| test_0093.txt | AC | 1861 ms | 58404 KiB |
| test_0094.txt | AC | 1862 ms | 62568 KiB |
| test_0095.txt | AC | 1860 ms | 56760 KiB |
| test_0096.txt | AC | 1858 ms | 55532 KiB |
| test_0097.txt | AC | 1860 ms | 57788 KiB |
| test_0098.txt | AC | 1857 ms | 56312 KiB |
| test_0099.txt | AC | 1858 ms | 56012 KiB |
| test_0100.txt | AC | 1857 ms | 58116 KiB |
| test_0101.txt | AC | 1861 ms | 56768 KiB |
| test_0102.txt | AC | 1857 ms | 54668 KiB |
| test_0103.txt | AC | 1853 ms | 57732 KiB |
| test_0104.txt | AC | 1878 ms | 56360 KiB |
| test_0105.txt | AC | 1856 ms | 56212 KiB |
| test_0106.txt | AC | 1859 ms | 55956 KiB |
| test_0107.txt | AC | 1863 ms | 57416 KiB |
| test_0108.txt | AC | 1856 ms | 56136 KiB |
| test_0109.txt | AC | 1853 ms | 57680 KiB |
| test_0110.txt | AC | 1859 ms | 60212 KiB |
| test_0111.txt | AC | 1857 ms | 56576 KiB |
| test_0112.txt | AC | 1876 ms | 57524 KiB |
| test_0113.txt | AC | 1856 ms | 56244 KiB |
| test_0114.txt | AC | 1857 ms | 57244 KiB |
| test_0115.txt | AC | 1855 ms | 57456 KiB |
| test_0116.txt | AC | 1857 ms | 57492 KiB |
| test_0117.txt | AC | 1861 ms | 57132 KiB |
| test_0118.txt | AC | 1858 ms | 58616 KiB |
| test_0119.txt | AC | 1857 ms | 56352 KiB |
| test_0120.txt | AC | 1857 ms | 56852 KiB |
| test_0121.txt | AC | 1856 ms | 58036 KiB |
| test_0122.txt | AC | 1861 ms | 59832 KiB |
| test_0123.txt | AC | 1856 ms | 56604 KiB |
| test_0124.txt | AC | 1859 ms | 58572 KiB |
| test_0125.txt | AC | 1862 ms | 55992 KiB |
| test_0126.txt | AC | 1860 ms | 57364 KiB |
| test_0127.txt | AC | 1857 ms | 59444 KiB |
| test_0128.txt | AC | 1860 ms | 57592 KiB |
| test_0129.txt | AC | 1858 ms | 59652 KiB |
| test_0130.txt | AC | 1858 ms | 56152 KiB |
| test_0131.txt | AC | 1854 ms | 57448 KiB |
| test_0132.txt | AC | 1856 ms | 56740 KiB |
| test_0133.txt | AC | 1858 ms | 54576 KiB |
| test_0134.txt | AC | 1858 ms | 58012 KiB |
| test_0135.txt | AC | 1858 ms | 55140 KiB |
| test_0136.txt | AC | 1859 ms | 58172 KiB |
| test_0137.txt | AC | 1858 ms | 57832 KiB |
| test_0138.txt | AC | 1857 ms | 55700 KiB |
| test_0139.txt | AC | 1890 ms | 55536 KiB |
| test_0140.txt | AC | 1859 ms | 56240 KiB |
| test_0141.txt | AC | 1857 ms | 57004 KiB |
| test_0142.txt | AC | 1858 ms | 56844 KiB |
| test_0143.txt | AC | 1858 ms | 54772 KiB |
| test_0144.txt | AC | 1859 ms | 57808 KiB |
| test_0145.txt | AC | 1856 ms | 56740 KiB |
| test_0146.txt | AC | 1857 ms | 56116 KiB |
| test_0147.txt | AC | 1860 ms | 57144 KiB |
| test_0148.txt | AC | 1858 ms | 58208 KiB |
| test_0149.txt | AC | 1857 ms | 58920 KiB |