Submission #1791212


Source Code Expand

import std.stdio;
import std.string;
import std.conv;
import std.bigint;
import std.typecons;
import std.algorithm;
import std.array;
import std.math;
import std.range;

void main() {
    auto N = readln.chomp.to!int;
    auto A = sort(readln.split.to!(ulong[])).enumerate.assumeSorted;
    auto B = sort(readln.split.to!(ulong[])).enumerate.assumeSorted;
    auto C = sort(readln.split.to!(ulong[])).enumerate.assumeSorted;
    //あるBを選んだときのCの数を数える
    ulong[] count = new ulong[N];
    foreach (i; 0..N) {
        auto b = B[i];
        if (b.value < C[0].value) {
            count[i] = N;
        } else if (b.value > C[N-1].value) {
            count[i] = 0;
        } else {
            size_t start = 0;
            size_t end = N-1;
            while (start+1 != end) {
                auto middle = (start + end) / 2;
                if (b.value < C[middle].value) {
                    end = middle;
                } else if (C[middle].value <= b.value){
                    start = middle;
                }
            }
            count[i] = N-end;
        }
    }
    foreach_reverse(i; 0..N-1) {
        count[i] += count[i+1];
    }
    ulong s = 0;
    foreach (i; 0..N) {
        auto a = A[i];
        size_t idx;
        if (a.value < B[0].value) {
            idx = 0;
        } else if (a.value > B[N-1].value) {
            continue;
        } else {
            size_t start = 0;
            size_t end = N-1;
            while (start+1 != end) {
                auto middle = (start + end) / 2;
                if (a.value < B[middle].value) {
                    end = middle;
                } else if (B[middle].value <= a.value){
                    start = middle;
                }
            }
            idx = end;
        }
        s += count[idx];
    }
    writeln(s);
}

Submission Info

Submission Time
Task C - Snuke Festival
User sobaya
Language D (DMD64 v2.070.1)
Score 0
Code Size 1905 Byte
Status WA
Exec Time 2103 ms
Memory 12500 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status
AC × 3
AC × 20
WA × 11
TLE × 1
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, s1.txt, s2.txt, s3.txt
Case Name Status Exec Time Memory
01.txt AC 106 ms 10556 KB
02.txt AC 106 ms 10940 KB
03.txt AC 91 ms 10840 KB
04.txt AC 91 ms 11096 KB
05.txt WA 65 ms 9468 KB
06.txt WA 65 ms 9724 KB
07.txt WA 56 ms 10588 KB
08.txt WA 56 ms 10844 KB
09.txt WA 48 ms 11308 KB
10.txt WA 48 ms 11692 KB
11.txt WA 45 ms 11508 KB
12.txt WA 45 ms 10612 KB
13.txt AC 96 ms 12028 KB
14.txt AC 95 ms 12028 KB
15.txt AC 95 ms 11860 KB
16.txt AC 96 ms 12372 KB
17.txt AC 95 ms 12500 KB
18.txt AC 96 ms 11732 KB
19.txt WA 107 ms 11068 KB
20.txt AC 36 ms 11252 KB
21.txt WA 44 ms 10612 KB
22.txt WA 90 ms 11848 KB
23.txt AC 94 ms 11112 KB
24.txt AC 99 ms 11368 KB
25.txt AC 98 ms 11132 KB
26.txt TLE 2103 ms 256 KB
27.txt AC 1 ms 256 KB
28.txt AC 1 ms 256 KB
29.txt AC 1 ms 256 KB
s1.txt AC 1 ms 256 KB
s2.txt AC 1 ms 256 KB
s3.txt AC 1 ms 256 KB