Submission #4024453


Source Code Expand

from itertools import accumulate


class CoeffTable:
    def __init__(self, n):
        self.n = n
        if n == 2:
            (self.p2, self.p1, self.m1, self.m2) = (0, 1, 1, 0)
        if n % 2 == 0:
            self.p1 = self.m1 = 1
            self.p2 = self.m2 = (n - 1) // 2
        else:
            self.p1 = 0
            self.m1 = 2
            self.p2 = (n - 1) // 2
            self.m2 = (n - 2) // 2
        if self.p2 + self.p1 + self.m1 + self.m2 != n:
            raise ValueError(f"n = {n}, {str(self)}")

    def reverse(self):
        (self.p2, self.p1, self.m1, self.m2) = (
            self.m2,
            self.m1,
            self.p1,
            self.p2,
        )

    def cumsum(self):
        return list(accumulate([self.p2, self.p1, self.m1, self.m2]))

    def __str__(self):
        return (
            f"(p2, p1, m1, m2) = ({self.p2}, {self.p1}, {self.m1}, {self.m2})"
        )


def main(n, seq):
    seq = sorted(seq, reverse=True)
    coeff = CoeffTable(n)
    cm = coeff.cumsum()
    ans1 = (
        2 * sum(seq[0 : cm[0]])
        + 1 * sum(seq[cm[0] : cm[1]])
        - 1 * sum(seq[cm[1] : cm[2]])
        - 2 * sum(seq[cm[2] : cm[3]])
    )
    coeff.reverse()
    rcm = coeff.cumsum()
    ans2 = (
        2 * sum(seq[0 : rcm[0]])
        + 1 * sum(seq[rcm[0] : rcm[1]])
        - 1 * sum(seq[rcm[1] : rcm[2]])
        - 2 * sum(seq[rcm[2] : rcm[3]])
    )
    ans = max(ans1, ans2)
    print(ans)
    return


if __name__ == "__main__":
    n = int(input())
    sample = []
    for _ in range(n):
        sample.append(int(input()))
    main(n, sample)

Submission Info

Submission Time
Task C - Align
User kitagawa1992
Language Python (3.4.3)
Score 0
Code Size 1665 Byte
Status RE
Exec Time 18 ms
Memory 3064 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
RE × 3
RE × 40
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, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, s1.txt, s2.txt, s3.txt
Case Name Status Exec Time Memory
01.txt RE 17 ms 2940 KB
02.txt RE 17 ms 2940 KB
03.txt RE 18 ms 2940 KB
04.txt RE 17 ms 2940 KB
05.txt RE 18 ms 2940 KB
06.txt RE 18 ms 2940 KB
07.txt RE 18 ms 3060 KB
08.txt RE 18 ms 2940 KB
09.txt RE 18 ms 2940 KB
10.txt RE 18 ms 2940 KB
11.txt RE 18 ms 2940 KB
12.txt RE 18 ms 2940 KB
13.txt RE 18 ms 2940 KB
14.txt RE 18 ms 2940 KB
15.txt RE 18 ms 3060 KB
16.txt RE 18 ms 2940 KB
17.txt RE 18 ms 2940 KB
18.txt RE 18 ms 2940 KB
19.txt RE 18 ms 2940 KB
20.txt RE 18 ms 2940 KB
21.txt RE 18 ms 2940 KB
22.txt RE 18 ms 3060 KB
23.txt RE 18 ms 2940 KB
24.txt RE 17 ms 2940 KB
25.txt RE 18 ms 2940 KB
26.txt RE 18 ms 2940 KB
27.txt RE 18 ms 2940 KB
28.txt RE 18 ms 2940 KB
29.txt RE 18 ms 3060 KB
30.txt RE 18 ms 3064 KB
31.txt RE 18 ms 2940 KB
32.txt RE 17 ms 3060 KB
33.txt RE 18 ms 2940 KB
34.txt RE 18 ms 2940 KB
35.txt RE 18 ms 2940 KB
36.txt RE 18 ms 2940 KB
37.txt RE 18 ms 2940 KB
s1.txt RE 18 ms 2940 KB
s2.txt RE 17 ms 2940 KB
s3.txt RE 18 ms 2940 KB