CF903D.Almost Difference

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's denote a function

You are given an array a consisting of n integers. You have to calculate the sum of d(a__i, a__j) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.

我们定义一个函数

给定一个由 nn 个整数组成的数组 aa。你需要计算所有满足 1≤i≤j≤n1 \le i \le j \le n 的数对 (i,j)(i, j) 对应的 d(ai,aj)d(a_i, a_j) 的总和。

输入格式

The first line contains one integer n (1 ≤ n ≤ 200000) — the number of elements in a.

The second line contains n integers _a_1, _a_2, ..., a__n (1 ≤ a__i ≤ 109) — elements of the array.

第一行包含一个整数 nn(1≤n≤2000001 \leq n \leq 200000)—— 数组 aa 中的元素个数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \leq a_i \leq 10^9)—— 数组的元素。

输出格式

Print one integer — the sum of d(a__i, a__j) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.

输出一个整数——即对所有满足 1 ≤ i ≤ j ≤ n1 \le i \le j \le n 的数对 (i, j)(i, j),求 d(ai, aj)d(a_i, a_j) 的总和。

输入输出样例

  • 输入#1

    5
    1 2 3 1 3

    输出#1

    4
  • 输入#2

    4
    6 6 5 5

    输出#2

    0
  • 输入#3

    4
    6 6 4 4

    输出#3

    -8

说明/提示

In the first example:

  1. d(_a_1, _a_2) = 0;
  2. d(_a_1, _a_3) = 2;
  3. d(_a_1, _a_4) = 0;
  4. d(_a_1, _a_5) = 2;
  5. d(_a_2, _a_3) = 0;
  6. d(_a_2, _a_4) = 0;
  7. d(_a_2, _a_5) = 0;
  8. d(_a_3, _a_4) =  - 2;
  9. d(_a_3, _a_5) = 0;
  10. d(_a_4, _a_5) = 2.

在第一个例子中:

  1. d(a1, a2)=0d(a_1,\,a_2) = 0;
  2. d(a1, a3)=2d(a_1,\,a_3) = 2;
  3. d(a1, a4)=0d(a_1,\,a_4) = 0;
  4. d(a1, a5)=2d(a_1,\,a_5) = 2;
  5. d(a2, a3)=0d(a_2,\,a_3) = 0;
  6. d(a2, a4)=0d(a_2,\,a_4) = 0;
  7. d(a2, a5)=0d(a_2,\,a_5) = 0;
  8. d(a3, a4)=−2d(a_3,\,a_4) = -2;
  9. d(a3, a5)=0d(a_3,\,a_5) = 0;
  10. d(a4, a5)=2d(a_4,\,a_5) = 2。

输入解题思路,AI测评打分。不知道怎么写?

首页