Submission #4024462
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 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 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 | PyPy3 (2.4.0) |
Score | 400 |
Code Size | 1421 Byte |
Status | AC |
Exec Time | 564 ms |
Memory | 54104 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
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 | AC | 564 ms | 54104 KB |
02.txt | AC | 496 ms | 52056 KB |
03.txt | AC | 519 ms | 52056 KB |
04.txt | AC | 502 ms | 52056 KB |
05.txt | AC | 510 ms | 52056 KB |
06.txt | AC | 520 ms | 52056 KB |
07.txt | AC | 533 ms | 52056 KB |
08.txt | AC | 513 ms | 52292 KB |
09.txt | AC | 520 ms | 52056 KB |
10.txt | AC | 529 ms | 52056 KB |
11.txt | AC | 499 ms | 52056 KB |
12.txt | AC | 509 ms | 52056 KB |
13.txt | AC | 501 ms | 52056 KB |
14.txt | AC | 491 ms | 52056 KB |
15.txt | AC | 523 ms | 52056 KB |
16.txt | AC | 503 ms | 52056 KB |
17.txt | AC | 513 ms | 52056 KB |
18.txt | AC | 506 ms | 52696 KB |
19.txt | AC | 532 ms | 52056 KB |
20.txt | AC | 517 ms | 52056 KB |
21.txt | AC | 504 ms | 51800 KB |
22.txt | AC | 516 ms | 51800 KB |
23.txt | AC | 523 ms | 51800 KB |
24.txt | AC | 498 ms | 51800 KB |
25.txt | AC | 491 ms | 51800 KB |
26.txt | AC | 475 ms | 51800 KB |
27.txt | AC | 495 ms | 51800 KB |
28.txt | AC | 480 ms | 51800 KB |
29.txt | AC | 468 ms | 51544 KB |
30.txt | AC | 471 ms | 51544 KB |
31.txt | AC | 493 ms | 51544 KB |
32.txt | AC | 477 ms | 51544 KB |
33.txt | AC | 165 ms | 38384 KB |
34.txt | AC | 162 ms | 38256 KB |
35.txt | AC | 161 ms | 38256 KB |
36.txt | AC | 169 ms | 38256 KB |
37.txt | AC | 163 ms | 38256 KB |
s1.txt | AC | 162 ms | 38256 KB |
s2.txt | AC | 164 ms | 38256 KB |
s3.txt | AC | 164 ms | 38256 KB |