题目链接:    https://codeforces.com/problemset/problem/1141/C

C. Polycarp Restores Permutation
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
An array of integers p1,p2,…,pnp1,p2,…,pn is called a permutation if it contains each number from 11 to nn exactly once. For example, the following arrays are permutations: [3,1,2][3,1,2], [1][1], [1,2,3,4,5][1,2,3,4,5] and [4,3,1,2][4,3,1,2]. The following arrays are not permutations: [2][2], [1,1][1,1], [2,3,4][2,3,4].Polycarp invented a really cool permutation p1,p2,…,pnp1,p2,…,pn of length nn. It is very disappointing, but he forgot this permutation. He only remembers the array q1,q2,…,qn−1q1,q2,…,qn−1 of length n−1n−1, where qi=pi+1−piqi=pi+1−pi.Given nn and q=q1,q2,…,qn−1q=q1,q2,…,qn−1, help Polycarp restore the invented permutation.Input
The first line contains the integer nn (2≤n≤2⋅1052≤n≤2⋅105) — the length of the permutation to restore. The second line contains n−1n−1 integers q1,q2,…,qn−1q1,q2,…,qn−1 (−n<qi<n−n<qi<n).Output
Print the integer -1 if there is no such permutation of length nn which corresponds to the given array qq. Otherwise, if it exists, print p1,p2,…,pnp1,p2,…,pn. Print any such permutation if there are many of them.

Examples

input
3
-2 1
output
3 1 2 

input
5
1 1 1 1
output
1 2 3 4 5 

input
4
-1 2 2
output
-1

题意:     输入整数n  ,在输入n-1个数,代表着目标数组后一个减前一个数组的差的值,  即: ans[i+1] - ans[i]

    若存在则输出数组ans的值      若不存在则输出-1

思路:  暴力水题。。。。。。。。。。。。。。

#include<iostream>
#include<cstdio>
#include<ctime>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<stack>
#include<map>
#include<algorithm>
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Mem0(x) memset(x,0,sizeof(x))
#define Mem1(x) memset(x,-1,sizeof(x))
#define MemX(x) memset(x,0x3f,sizeof(x))
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f;
const double pi=acos(-1.0);ll ans[2000010],q[2000010],cnt[2000010],n;
int main()
{memset(cnt,0,sizeof(cnt));scanf("%lld",&n);ll tmp=0,l=0;for (int i=1;i<n;i++){scanf("%lld",&q[i]);l+=q[i]; tmp=tmp+l;}ll temp=(n+1)*n/2;ll pp=temp-tmp;bool flag=false;temp=pp/n;for (int i=1;i<=n;i++){ans[i]=temp;if (temp<=0||temp>n||cnt[ans[i]]>=1){flag=true;}else{cnt[ans[i]]++;}temp=temp+q[i];}if (flag)printf("-1");else{for (int i=1;i<=n;i++){printf("%lld ",ans[i]);}}printf("\n");return 0;
}

  

转载于:https://www.cnblogs.com/q1204675546/p/10951678.html

codeforces 拼手速题2相关推荐

  1. CocosCreator拼手速小游戏(教程 + 源码)TS实现小游戏

    CocosCreator拼手速小游戏(教程 + 源码)TS实现小游戏 前言 游戏完成后的样子 玩法:在10秒内点击屏幕中间的按钮,最终记录一共点击了多少下 源码在Q群:1130122408 这个游戏比 ...

  2. 前方高能!一大波红包雨来袭!快来拼手速~

    CSDN 程序员 连夜开发了双十一限定新功能 在此首次公开 01 全站表白 弹幕 各位都玩过网游吧 CSDN 作为一个专业开发者社区 将限时开放全服"世界大喇叭"功能 声音碰撞 只 ...

  3. Codeforces 987A. Infinity Gauntlet(手速题,map存一下输出即可)

    解法: 1.先将对应的字符串存入map. 2.然后将输入的串的second置为空. 3.输出6-n,输出map中的非空串. 代码: #include <bits/stdc++.h> usi ...

  4. 拼手速抢红包!送大家现金红包!

    信息发达的时代,吸取先进的技术理念,成本很低.选择一些优质的公众号,学习技术,汲取他们的理念,化为己用~愿大家一起成长~ 为了回馈粉丝,联合8个公众号作者,送360元的现金红包 抽奖规则 本号的读者众 ...

  5. java实现红包要多少钱_Java实现抢红包算法,附完整代码(公平版和手速版)

    当我们在群里抢红包时真的是手速越快红包金额越大吗? 答案当然是并不是,都说了是拼手气,岂能是拼手速! 不过也可以有拼手速的方法 二倍均值法(公平版) 这是一种很合理很公平的抢红包算法了,绝对不会让你拼 ...

  6. 网友用筋膜枪提升手速抢茅台,平台回应不可靠,用了你也抢不到!

    抢茅台现在有多火,想必大家都已经有所耳闻了吧? 除了传统的经销商渠道,茅台启动跟商超.电商等渠道的合作模式之后,"平价"飞天茅台不仅成为了各大平台的引流工具,更成为这些平台吸引用户 ...

  7. java 实现秒抢_Java实现抢红包算法,附完整代码(公平版和手速版)

    当我们在群里抢红包时真的是手速越快红包金额越大吗? 当我们在群里抢红包时真的是手速越快红包金额越大吗? 答案当然是并不是,都说了是拼手气,岂能是拼手速! 不过也可以有拼手速的方法 二倍均值法(公平版) ...

  8. 计算机考试要手速,【新生入学秘籍NO.1】亲亲,这里建议您赶紧查收学习秘籍哦!...

    原标题:[新生入学秘籍NO.1]亲亲,这里建议您赶紧查收学习秘籍哦! 想必萌新们已经厌倦了接近三个月的暑假,现在的你是不是对大学满怀憧憬呢? 海思路999号就要迎来19级新生,这里有一份寄给你的学习秘 ...

  9. java实现qq抢红包_Java实现抢红包算法,附完整代码(公平版和手速版)

    当我们在群里抢红包时真的是手速越快红包金额越大吗? 当我们在群里抢红包时真的是手速越快红包金额越大吗? 答案当然是并不是,都说了是拼手气,岂能是拼手速! 不过也可以有拼手速的方法 二倍均值法(公平版) ...

最新文章

  1. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
  2. 在谈PHP中的 抽象类(abstract class)和 接口(interface)
  3. 验证视图状态MAC失败的解决办法
  4. linux遍历双向队列,双向循环队列
  5. oracle 序列赋值变量,Oracle变量的定义、赋值及使用
  6. android ffmpeg编译动态库,最简单的android studio调用ffmpeg动态库
  7. Java基础回顾Application(二)
  8. 从词袋到 Transfomer,NLP 十年突破史
  9. java api 获取jvm实例_JVMTI那些事——和Java相互调用
  10. HDOJ 2015 偶数求和
  11. 大数据GIS系列(2)——空间大数据处理与分析案例
  12. matlab仿真调速,直流调速系统的MATLAB仿真参考程序
  13. 教你如何布置家庭影院
  14. java模拟usb接口_Java练习:一个简单的USB接口程序设计
  15. 网络服务器充斥大量信息,使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常服务,这属于什么攻 - 普法考试题库问答...
  16. CRC-CCITT16(0xFFFF、XModem、0x1D0F、Kermit)
  17. 硬盘提示格式化的解决办法:
  18. 爬取豆瓣top250电影并分析
  19. 以前用C++实现的RMM分词类型
  20. 可汗学院”(Khan Academy)提出的考验智商的谜题

热门文章

  1. 前端工程化概述||模块化相关规范
  2. 分支结构||分支循环结构||使用原生js遍历对象
  3. Java的知识点30——线程的优先级、终止线程的典型方式、获取线程基本信息的方法
  4. 用DMA方式从串行USART口连续接收数据,怎样确认收到一个完整的包讨论
  5. union--求集合的并集
  6. 【R语言】迫松分布估计--判断是否符合迫松分布
  7. mysql中主从_MySQL的主从
  8. Windows10下搭建Java环境(最新教程)
  9. java内存中的栈、方法区 、堆
  10. PCL—点云分割(基于凹凸性) 低层次点云处理