Educational Codeforces Round 34 (Rated for Div. 2) D
来源:互联网 发布:游鹿网络有什么游戏 编辑:程序博客网 时间:2024/06/06 03:42
D. Almost Difference
time limit per test
2 secondsmemory limit per test
256 megabytesinput
standard inputoutput
standard outputLet's denote a function
You are given an array a consisting of n integers. You have to calculate the sum of d(ai, aj) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.
Input
The first line contains one integer n (1 ≤ n ≤ 200000) — the number of elements in a.
The second line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109) — elements of the array.
Output
Print one integer — the sum of d(ai, aj) over all pairs (i, j) such that 1 ≤ i ≤ j ≤ n.
Examples
input
51 2 3 1 3
output
4
input
46 6 5 5
output
0
input
46 6 4 4
output
-8
Note
In the first example:
- d(a1, a2) = 0;
- d(a1, a3) = 2;
- d(a1, a4) = 0;
- d(a1, a5) = 2;
- d(a2, a3) = 0;
- d(a2, a4) = 0;
- d(a2, a5) = 0;
- d(a3, a4) = - 2;
- d(a3, a5) = 0;
- d(a4, a5) = 2.
此题爆了long long(9*1e18),可以考虑用long double存储,输出用%Lf,但需要在C++14下才可以
考虑每个数对答案的贡献,即被当做x和y的次数,然后再处理一下特殊的情况即可
蠢哭了
看了一天
#include<bits/stdc++.h>using namespace std;#define maxn 200000+1000#define LL long longlong long a[maxn];map<long long,int>q;int main(){ int n; cin>>n; long double sum=0; for(int j=1;j<=n;j++){ cin>>a[j]; sum+=(j-1)*a[j]; sum-=(n-j)*a[j]; } for(int j=1;j<=n;j++){ q[a[j]]++; sum-=q[a[j]-1]; sum+=q[a[j]+1]; } printf("%.0Lf\n",sum);}//-9999999990000000000 longlong 爆这组
阅读全文
0 0
- Educational Codeforces Round 34 (Rated for Div. 2) D
- Educational Codeforces Round 34 (Rated for Div. 2) D
- Educational Codeforces Round 34 (Rated for Div. 2) D
- Educational Codeforces Round 34 (Rated for Div. 2) D
- Educational Codeforces Round 34 (Rated for Div. 2)
- Educational Codeforces Round 34 (Rated for Div. 2) C
- Codeforece Educational Codeforces Round 34 (Rated for Div. 2) (A-D)题解
- Educational Codeforces Round 34 (Rated for Div. 2) D. Almost Difference(高精度)
- codeforces Educational Codeforces Round 33 (Rated for Div. 2)
- codeforces Educational Codeforces Round 33 (Rated for Div. 2)B
- Educational Codeforces Round 33 (Rated for Div. 2) D. Credit Card
- Educational Codeforces Round 33 (Rated for Div. 2) C
- Educational Codeforces Round 33 (Rated for Div. 2)
- Educational Codeforces Round 33 (Rated for Div. 2)
- Educational Codeforces Round 33 (Rated for Div. 2) A
- Educational Codeforces Round 33 (Rated for Div. 2) B
- Educational Codeforces Round 33 (Rated for Div. 2) C
- Educational Codeforces Round 33 (Rated for Div. 2)
- [LeetCode-Algorithms-128] "Longest Consecutive Sequence" (2017.12.14-WEEK15)
- 用UISearchController实现微信搜索效果
- mysql相关问题
- RabbitMQ的安装与使用
- python 一元二次方程
- Educational Codeforces Round 34 (Rated for Div. 2) D
- iPad UIPopoverController弹出窗口的位置和坐标
- photoswipe.min.js 使用
- 谈软件项目及管理
- 在echarts中自定义提示框内容
- maven聚合项目项目间依赖时,出现错误的解决办法
- angularjs中form表单input脏值检测
- lintcode刷题记录合并排序数组 java
- vue解决POST跨域请求