Submission #10067892


Source Code Expand

# -*- coding: utf-8 -*-
import sys
import math
import os
import itertools
import string
import heapq
import _collections
from collections import Counter
from collections import defaultdict
from functools import lru_cache
import bisect
import re
import queue


class Scanner():
    @staticmethod
    def int():
        return int(sys.stdin.readline().rstrip())

    @staticmethod
    def string():
        return sys.stdin.readline().rstrip()

    @staticmethod
    def map_int():
        return [int(x) for x in Scanner.string().split()]

    @staticmethod
    def string_list(n):
        return [input() for i in range(n)]

    @staticmethod
    def int_list_list(n):
        return [Scanner.map_int() for i in range(n)]

    @staticmethod
    def int_cols_list(n):
        return [int(input()) for i in range(n)]


class Math():
    @staticmethod
    def gcd(a, b):
        if b == 0:
            return a
        return Math.gcd(b, a % b)

    @staticmethod
    def lcm(a, b):
        return (a * b) // Math.gcd(a, b)

    @staticmethod
    def roundUp(a, b):
        return -(-a // b)

    @staticmethod
    def toUpperMultiple(a, x):
        return Math.roundUp(a, x) * x

    @staticmethod
    def toLowerMultiple(a, x):
        return (a // x) * x

    @staticmethod
    def nearPow2(n):
        if n <= 0:
            return 0
        if n & (n - 1) == 0:
            return n
        ret = 1
        while(n > 0):
            ret <<= 1
            n >>= 1
        return ret

    @staticmethod
    def sign(n):
        if n == 0:
            return 0
        if n < 0:
            return -1
        return 1

    @staticmethod
    def isPrime(n):
        if n < 2:
            return False
        if n == 2:
            return True
        if n % 2 == 0:
            return False
        d = int(n ** 0.5) + 1
        for i in range(3, d + 1, 2):
            if n % i == 0:
                return False
        return True


class PriorityQueue:
    def __init__(self, l=[]):
        self.__q = l
        heapq.heapify(self.__q)
        return

    def push(self, n):
        heapq.heappush(self.__q, n)
        return

    def pop(self):
        return heapq.heappop(self.__q)


sys.setrecursionlimit(1000000)
MOD = int(1e09) + 7
INF = int(1e15)


def main():
    # sys.stdin = open("Sample.txt")
    N = Scanner.int()
    X = Scanner.map_int()
    X.sort()
    ans = 0
    for i in range(N-1):
        s = X[i + 1] - X[i]
        ans += (N - i - 1) * (i + 1) * s
    print(ans)
    return


if __name__ == "__main__":
    main()

Submission Info

Submission Time
Task C - Pair Distance
User matsu0112
Language PyPy3 (2.4.0)
Score 300
Code Size 2675 Byte
Status AC
Exec Time 257 ms
Memory 59756 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 27
Set Name Test Cases
Sample s1.txt, s2.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, s1.txt, s2.txt
Case Name Status Exec Time Memory
01.txt AC 183 ms 38636 KB
02.txt AC 186 ms 39404 KB
03.txt AC 194 ms 39660 KB
04.txt AC 187 ms 39276 KB
05.txt AC 185 ms 38512 KB
06.txt AC 188 ms 39916 KB
07.txt AC 194 ms 39788 KB
08.txt AC 190 ms 39788 KB
09.txt AC 189 ms 39788 KB
10.txt AC 197 ms 39788 KB
11.txt AC 257 ms 57796 KB
12.txt AC 253 ms 59344 KB
13.txt AC 256 ms 59108 KB
14.txt AC 254 ms 57692 KB
15.txt AC 253 ms 58664 KB
16.txt AC 247 ms 58872 KB
17.txt AC 254 ms 59464 KB
18.txt AC 255 ms 58768 KB
19.txt AC 245 ms 59068 KB
20.txt AC 248 ms 58860 KB
21.txt AC 253 ms 58744 KB
22.txt AC 245 ms 59032 KB
23.txt AC 244 ms 59648 KB
24.txt AC 249 ms 59756 KB
25.txt AC 250 ms 58732 KB
s1.txt AC 180 ms 38512 KB
s2.txt AC 187 ms 38512 KB