Submission #998721


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.group.array ~ tuple!(int, uint)(-1, 0))
    ).array.pipe!((ary) {
        long 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].front.pipe!((v) {
                            ary[k].removeFront;
                            v[1]--;
                            ary[k].insert(v);
                        })
                    );
                }
            }
            return cnt;
        }).array.sum;
        long v2 = ary.map!(a => a[].map!(b => b[1]/2).map!(to!long).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 1728 Byte
Status WA
Exec Time 237 ms
Memory 45372 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 16
WA × 16
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 WA 68 ms 8124 KB
01-03.txt WA 67 ms 8124 KB
01-04.txt WA 89 ms 12860 KB
01-05.txt WA 81 ms 10812 KB
01-06.txt WA 96 ms 12604 KB
01-07.txt WA 97 ms 12348 KB
01-08.txt WA 95 ms 12860 KB
01-09.txt WA 97 ms 12860 KB
01-10.txt WA 141 ms 22716 KB
01-11.txt AC 206 ms 36284 KB
01-12.txt AC 27 ms 3376 KB
01-13.txt AC 70 ms 15024 KB
01-14.txt WA 76 ms 10556 KB
01-15.txt AC 118 ms 15164 KB
01-16.txt WA 124 ms 16572 KB
01-17.txt AC 122 ms 18492 KB
01-18.txt AC 121 ms 20284 KB
01-19.txt AC 125 ms 21820 KB
01-20.txt AC 237 ms 45372 KB
01-21.txt WA 45 ms 4412 KB
01-22.txt WA 46 ms 4796 KB
01-23.txt WA 54 ms 5180 KB
01-24.txt WA 58 ms 7740 KB
01-25.txt WA 77 ms 11964 KB
01-26.txt AC 144 ms 29372 KB
01-27.txt AC 155 ms 30304 KB
01-28.txt AC 115 ms 24444 KB
01-29.txt AC 45 ms 9724 KB
01-30.txt AC 112 ms 23932 KB
sample-01.txt AC 2 ms 256 KB
sample-02.txt AC 2 ms 256 KB