Submission #998726


Source Code Expand

import std.stdio;
import std.string;
import std.conv;
import std.typecons;
import std.algorithm;
import std.functional;
import std.bigint;
import std.numeric;
import std.array;
import std.math;
import std.range;
import std.container;
import std.ascii;
void times(alias pred)(int n) {
    foreach(i; 0..n) pred();
}
auto rep(alias pred, T = typeof(pred()))(int n) {
    T[] res = new T[n];
    foreach(ref e; res) e = pred();
    return res;
}

void main() {
    int N, M;
    readf("%d %d\n", &N, &M);

    (new int[][M]).pipe!((a) {
      readln.split.to!(int[]).each!((x) {
          a[x%M] ~= x;
      });
      return a;
    }).map!(a =>
        redBlackTree!((b, c) =>
            (b[1]+c[1])%2!=0 ? b[1]%2!=0 :
            b[1] != c[1]     ? b[1]>c[1] :
                               b[0]<c[0]
        )(a.sort().group.array ~ tuple!(int, uint)(-1, 0))
    ).array.pipe!((ary) {
        int v1 = ((M+1)/2).iota.map!((i){
            int cnt = 0;
            if (i==0 || i*2==M) {
                cnt = ary[i][].map!(a => a[1]).sum/2;
                ary[i].clear;
            } else {
                int j = M-i;
                while([i, j].all!(k => ary[k].front[1]>0)) {
                    cnt++;
                    [i, j].each!(k =>
                        ary[k].pipe!((tree) {
                            auto v = tree.front;
                            tree.removeFront;
                            v[1]--;
                            tree.insert(v);
                        })
                    );
                }
            }
            return cnt;
        }).array.sum;
        int v2 = ary.map!(a => a[].map!(b => b[1]/2).sum).sum;
        return v1+v2;
    }).writeln;
}

Submission Info

Submission Time
Task D - Pair Cards
User arkark
Language D (DMD64 v2.070.1)
Score 0
Code Size 1762 Byte
Status WA
Exec Time 230 ms
Memory 45372 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 23
WA × 9
Set Name Test Cases
sample sample-01.txt, sample-02.txt
all sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt
Case Name Status Exec Time Memory
01-01.txt AC 2 ms 256 KB
01-02.txt AC 62 ms 7868 KB
01-03.txt WA 62 ms 8252 KB
01-04.txt AC 93 ms 12348 KB
01-05.txt WA 83 ms 12092 KB
01-06.txt AC 101 ms 12476 KB
01-07.txt WA 104 ms 12220 KB
01-08.txt AC 104 ms 13628 KB
01-09.txt WA 101 ms 14268 KB
01-10.txt WA 135 ms 22716 KB
01-11.txt AC 197 ms 36284 KB
01-12.txt AC 28 ms 3376 KB
01-13.txt AC 68 ms 15024 KB
01-14.txt WA 85 ms 10556 KB
01-15.txt AC 122 ms 15292 KB
01-16.txt WA 124 ms 16572 KB
01-17.txt AC 122 ms 18492 KB
01-18.txt AC 122 ms 20284 KB
01-19.txt AC 123 ms 21820 KB
01-20.txt AC 230 ms 45372 KB
01-21.txt WA 36 ms 4156 KB
01-22.txt AC 65 ms 6460 KB
01-23.txt WA 74 ms 7740 KB
01-24.txt AC 65 ms 9404 KB
01-25.txt AC 77 ms 11964 KB
01-26.txt AC 146 ms 29372 KB
01-27.txt AC 150 ms 30304 KB
01-28.txt AC 114 ms 24444 KB
01-29.txt AC 44 ms 9724 KB
01-30.txt AC 111 ms 23932 KB
sample-01.txt AC 2 ms 256 KB
sample-02.txt AC 2 ms 256 KB