Submission #2473222


Source Code Expand

import std.stdio, std.array, std.string, std.conv, std.algorithm;
import std.typecons, std.range, std.random, std.math, std.container;
import std.numeric, std.bigint, core.bitop, std.bitmanip, std.regex;

void main() {
    immutable long INF = 1L << 59;

    auto N = readln.chomp.to!int;
    auto X = N.iota.map!(_ => readln.chomp.to!long).array;

    bool in_time(int i, long dist, real vel) {
        return dist / vel <= abs(X[i]);
    }

    real hi = 10L^^15;
    real lo = 1;

    foreach (_; 0..100) {
        real mid = (hi + lo) / 2;
        auto dp = new long[][][](N, N, 2);
        foreach (i; 0..N) foreach (j; 0..N) dp[i][j].fill(INF);
        foreach (i; 0..N) dp[i][i][0] = dp[i][i][1] = abs(X[i]);

        foreach (len; 1..N+1) {
            foreach (l; 0..N) {
                int r = l + len - 1;
                foreach (i; 0..2) {
                    foreach (j; 0..2) {
                        int nl = l;
                        int nr = r;
                        if (j == 0) nl -= 1;
                        else        nr += 1;
                        if (nl < 0 || nr >= N) continue;

                        if (i == 0 && j == 0) {
                            long nd = dp[l][r][i] + X[l] - X[nl];
                            if (in_time(nl, nd, mid)) dp[nl][nr][j] = min(dp[nl][nr][j], nd);
                        } else if (i == 0 && j == 1) {
                            long nd = dp[l][r][i] + X[nr] - X[l];
                            if (in_time(nr, nd, mid)) dp[nl][nr][j] = min(dp[nl][nr][j], nd);
                        } else if (i == 1 && j == 0) {
                            long nd = dp[l][r][i] + X[r] - X[nl];
                            if (in_time(nl, nd, mid)) dp[nl][nr][j] = min(dp[nl][nr][j], nd);
                        } else if (i == 1 && j == 1) {
                            long nd = dp[l][r][i] + X[nr] - X[r];
                            if (in_time(nr, nd, mid)) dp[nl][nr][j] = min(dp[nl][nr][j], nd);
                        }
                    }
                }
            }
        }

        if (dp[0][N-1].reduce!min != INF) hi = mid;
        else lo = mid;
    }

    writefln("%.9f", hi);
}

Submission Info

Submission Time
Task B - 道迷い
User nebukuro09
Language D (LDC 0.17.0)
Score 70
Code Size 2226 Byte
Status TLE
Exec Time 5522 ms
Memory 227284 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 70 / 70 0 / 50
Status
AC × 3
AC × 49
AC × 49
TLE × 34
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_15.txt, subtask1_16.txt, subtask1_19.txt, subtask1_20.txt, subtask1_22.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask1_43.txt, subtask1_44.txt, subtask1_45.txt, subtask1_46.txt, subtask1_47.txt, subtask1_48.txt, subtask1_49.txt, subtask1_50.txt, subtask1_51.txt, subtask1_52.txt, subtask1_53.txt, subtask1_54.txt, subtask1_55.txt, subtask1_56.txt, subtask1_57.txt, subtask1_58.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_15.txt, subtask1_16.txt, subtask1_19.txt, subtask1_20.txt, subtask1_22.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask1_43.txt, subtask1_44.txt, subtask1_45.txt, subtask1_46.txt, subtask1_47.txt, subtask1_48.txt, subtask1_49.txt, subtask1_50.txt, subtask1_51.txt, subtask1_52.txt, subtask1_53.txt, subtask1_54.txt, subtask1_55.txt, subtask1_56.txt, subtask1_57.txt, subtask1_58.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_15.txt, subtask2_16.txt, subtask2_19.txt, subtask2_20.txt, subtask2_22.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt, subtask2_46.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 380 KB
sample_02.txt AC 1 ms 380 KB
sample_03.txt AC 2 ms 764 KB
subtask1_07.txt AC 473 ms 12028 KB
subtask1_08.txt AC 476 ms 12028 KB
subtask1_09.txt AC 484 ms 12796 KB
subtask1_10.txt AC 478 ms 12028 KB
subtask1_11.txt AC 481 ms 12028 KB
subtask1_12.txt AC 476 ms 12028 KB
subtask1_15.txt AC 477 ms 12028 KB
subtask1_16.txt AC 480 ms 12028 KB
subtask1_19.txt AC 484 ms 12028 KB
subtask1_20.txt AC 487 ms 12028 KB
subtask1_22.txt AC 471 ms 12412 KB
subtask1_24.txt AC 471 ms 12668 KB
subtask1_25.txt AC 482 ms 12156 KB
subtask1_26.txt AC 474 ms 12540 KB
subtask1_27.txt AC 474 ms 12028 KB
subtask1_28.txt AC 483 ms 12412 KB
subtask1_29.txt AC 481 ms 12028 KB
subtask1_30.txt AC 475 ms 12028 KB
subtask1_31.txt AC 476 ms 12412 KB
subtask1_32.txt AC 475 ms 12028 KB
subtask1_33.txt AC 471 ms 12028 KB
subtask1_34.txt AC 473 ms 12028 KB
subtask1_35.txt AC 482 ms 12540 KB
subtask1_36.txt AC 476 ms 12028 KB
subtask1_37.txt AC 477 ms 12028 KB
subtask1_38.txt AC 476 ms 12028 KB
subtask1_39.txt AC 474 ms 12028 KB
subtask1_40.txt AC 476 ms 12028 KB
subtask1_41.txt AC 481 ms 12284 KB
subtask1_42.txt AC 484 ms 12028 KB
subtask1_43.txt AC 472 ms 12028 KB
subtask1_44.txt AC 474 ms 14588 KB
subtask1_45.txt AC 474 ms 12156 KB
subtask1_46.txt AC 474 ms 12028 KB
subtask1_47.txt AC 1 ms 256 KB
subtask1_48.txt AC 1 ms 256 KB
subtask1_49.txt AC 1 ms 256 KB
subtask1_50.txt AC 1 ms 256 KB
subtask1_51.txt AC 1 ms 256 KB
subtask1_52.txt AC 1 ms 256 KB
subtask1_53.txt AC 1 ms 380 KB
subtask1_54.txt AC 1 ms 380 KB
subtask1_55.txt AC 1 ms 380 KB
subtask1_56.txt AC 2 ms 508 KB
subtask1_57.txt AC 1 ms 380 KB
subtask1_58.txt AC 1 ms 380 KB
subtask2_07.txt TLE 5522 ms 227228 KB
subtask2_08.txt TLE 5522 ms 227228 KB
subtask2_09.txt TLE 5522 ms 227228 KB
subtask2_10.txt TLE 5522 ms 227228 KB
subtask2_11.txt TLE 5522 ms 227228 KB
subtask2_12.txt TLE 5522 ms 227228 KB
subtask2_15.txt TLE 5522 ms 227228 KB
subtask2_16.txt TLE 5522 ms 227228 KB
subtask2_19.txt TLE 5522 ms 227228 KB
subtask2_20.txt TLE 5522 ms 227228 KB
subtask2_22.txt TLE 5522 ms 227228 KB
subtask2_24.txt TLE 5522 ms 227228 KB
subtask2_25.txt TLE 5522 ms 227228 KB
subtask2_26.txt TLE 5522 ms 227228 KB
subtask2_27.txt TLE 5522 ms 227228 KB
subtask2_28.txt TLE 5522 ms 227228 KB
subtask2_29.txt TLE 5522 ms 227228 KB
subtask2_30.txt TLE 5522 ms 227228 KB
subtask2_31.txt TLE 5522 ms 227228 KB
subtask2_32.txt TLE 5522 ms 227228 KB
subtask2_33.txt TLE 5522 ms 227228 KB
subtask2_34.txt TLE 5522 ms 227228 KB
subtask2_35.txt TLE 5522 ms 227228 KB
subtask2_36.txt TLE 5522 ms 227228 KB
subtask2_37.txt TLE 5522 ms 227228 KB
subtask2_38.txt TLE 5522 ms 227228 KB
subtask2_39.txt TLE 5522 ms 227228 KB
subtask2_40.txt TLE 5522 ms 227228 KB
subtask2_41.txt TLE 5522 ms 227228 KB
subtask2_42.txt TLE 5522 ms 227228 KB
subtask2_43.txt TLE 5522 ms 227284 KB
subtask2_44.txt TLE 5522 ms 227228 KB
subtask2_45.txt TLE 5522 ms 227228 KB
subtask2_46.txt TLE 5521 ms 227228 KB