C. Polycarp Restores PermutationCodeforces Round #547 (Div. 3)
div round Codeforces Permutation
2023-06-13 09:15:39 时间
Codeforces Round #547 (Div. 3)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n,m;
map<int,int> mp;
ll pre[200005],s[200005],a[200005];
int main()
{
scanf("%d",&n);
for(int i=1;i<n;i++){
scanf("%lld",&pre[i]);
}
ll ans = 0;
for(int i=1;i<n;i++){
s[i] = pre[i] + s[i-1];// S[i] = Pi - P1
ans += s[i]; // ans 是 Pn+Pn-1+Pn-2+...+P2 - (n - 1)*P1
}
a[1] = (ll)n * (ll)(n + 1) / 2 - ans; // 这样a[1] = n * P1
a[1] /= n; //得到P1就得到答案了
mp[a[1]] ++;
for(int i=1;i<n;i++){
a[i + 1] = a[i] + pre[i];
mp[a[i+1]] ++;
}
for(int i=1;i<=n;i++){
if(mp[i] != 1){
puts("-1");
return 0;
}
}
for(int i=1;i<=n;i++){
printf("%lld ",a[i]);
}
return 0;
}
相关文章
- Div滚动条定位设置「建议收藏」
- Educational Codeforces Round 132 (Rated for Div. 2) A·B·C
- Codeforces Round #754 (Div. 2) C-E
- js / css 设置div不可点击
- Codeforces Round #826 (Div. 3)(A~D)
- Codeforces Round #825 (Div. 2) (A~C1)
- Codeforces Round #674 (Div. 3)(A~D)
- Educational Codeforces Round 137 (Rated for Div. 2)(A~E)
- A. The Fair Nut and Elevator (Codeforces Round #526 (Div. 2))
- A. Be Positive 【 Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 】
- css实现div悬浮层,始终停留在浏览器的最下方,不随页面的滚动条滚动改变位置或消失详解编程语言
- 解决select挡住div的解决方法
- 常用的DIV+CSS的基本框架结构但不推荐都放一个div里
- javascript可以拖动的DIV(二)
- 基于jquery的用鼠标画出可移动的div
- javascript实现div的拖动并调整大小类似qq空间个性编辑模块
- node在两个div之间移动,用ztree实现
- 点击地图div上的按钮实现对地图数据的入库操作
- 原生js实现改变随意改变div属性style的名称和值的结果
- jquery实现input输入什么div图层显示什么
- php正则匹配html中带class的div并选取其中内容的方法
- jquery实现拖拽调整Div大小