链接:https://ac.nowcoder.com/acm/contest/297/B
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

小w与tokitsukaze一起玩3ds上的小游戏,现在他们遇到了难关。

他们得到了一个数列,通关要求为这个数列的和为0,并且只有一次改变一个数的符号的机会(正数变成负数,负数变成正数)。

请问小w与tokitsukaze能否通关,如果能,请输出有多少个数符合要求,如果不能,请输出-1。

输入描述:

第一行包括一个正整数n(1≤n≤10^5),表示这个数列有n个数。
接下来一行有n个数x (-100≤x≤100),表示数列(数列的和保证不等于0)。

输出描述:

输出有多少个符合要求的数,如果没有,请输出-1。

示例1

输入

复制

5
1 3 -5 3 4

输出

复制

2

说明

只要把一个3变成-3,数列的和就变为0。数列里总共有两个3,所以有2个符合要求的数。

示例2

输入

复制

4
1 2 4 8

输出

复制

-1

题解:

若sum为奇数,肯定不存在这个数,若是偶数,除2遍历即可

代码1:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;int main()
{int n;cin>>n;int a[100005];long long int sum=0;for(int t=0;t<n;t++){scanf("%d",&a[t]);sum+=a[t];}int temp;if(sum%2==0){temp=sum/2;}else{printf("-1\n");return 0;}int s=0;for(int t=0;t<n;t++){if(a[t]==temp){s++;}}if(s==0){printf("-1\n");}else{printf("%d\n",s);}return 0;
} 

代码2:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>using namespace std;int main()
{int n;while(scanf("%d",&n)!=EOF){int a[100005];long long int sum=0;for(int t=0;t<n;t++){scanf("%d",&a[t]);sum+=a[t];}int flag=0;long long int s=0;for(int t=0;t<n;t++){if(sum-2*a[t]==0){s++;flag=1;}}if(flag)printf("%lld\n",s);else{cout<<"-1"<<endl;}}return 0;
}

转载于:https://www.cnblogs.com/Staceyacm/p/10781934.html

little w and Sum(思维)相关推荐

  1. Codeforces Round #636 (Div. 3) D. Constant Palindrome Sum 思维 + 差分

    传送门 文章目录 题意: 思路: 题意: 思路: 首先有一个显然的性质就是每组操作最多不会超过两次. 很容易想到一个很暴力的思路,就是枚举x∈[1,2∗k]x \in [1,2*k]x∈[1,2∗k] ...

  2. 【牛客 - 297B】little w and Sum(水题,前缀和)

    题干: 小w与tokitsukaze一起玩3ds上的小游戏,现在他们遇到了难关. 他们得到了一个数列,通关要求为这个数列的和为0,并且只有一次改变一个数的符号的机会(正数变成负数,负数变成正数). 请 ...

  3. CodeForces - 1343D Constant Palindrome Sum(思维+差分数组)

    题目链接:点击查看 题目大意:给出 n 个数,保证 n 是偶数,且每个数的范围都在 [ 1 , k ] 之间,现在问我们至少需要给多少个数重新赋值,使得可以满足条件: 所有的数的值域都在 [ 1 , ...

  4. 【牛客 - 188C】水图(bfs树的直径,思维)

    题干: 链接:https://ac.nowcoder.com/acm/contest/188/C 来源:牛客网 小w不会离散数学,所以她van的图论游戏是送分的 小w有一张n个点n-1条边的无向联通图 ...

  5. 【GAMES-202实时渲染】3、预计算环境光照(球谐函数(SH)、IBL、Split Sum、环境光阴影计算(PRT))

    Lec5~7 1 环境光贴图着色计算(不考虑阴影) 1.1 Image-Based Lighting(IBL) 1.2 The Split Sum 2 环境光贴图计算(考虑阴影) 2.1 球谐函数(S ...

  6. CDQ分治 + 树状数组 ---- C. Goodbye Souvenir(三维偏序+思维)

    题目链接 题目大意: 给定长度为nnn的数组, 定义数字XXX在[l,r][l,r][l,r]内的值为数字XXX在[l,r][l,r][l,r]内最后一次出现位置的下标减去第一次出现位置的下标 给定m ...

  7. HDU 6058 - Kanade's sum | 2017 Multi-University Training Contest 3

    /* HDU 6058 - Kanade's sum [ 思维,链表 ] | 2017 Multi-University Training Contest 3 题意:给出排列 a[N],求所有区间的第 ...

  8. ACM思维题训练 Section A

    题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeFo ...

  9. 由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b

    题目:由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b 相信很多人都会使用LIBSVM软件包,svmtrain和svmpredict两个函数分别完成训练和预测:svmtrai ...

  10. 【牛客 - 369C】小A与欧拉路(bfs树的直径)

    题干: 链接:https://ac.nowcoder.com/acm/contest/369/C 来源:牛客网 小A给你了一棵树,对于这棵树上的每一条边,你都可以将它复制任意(可以为0)次(即在这条边 ...

最新文章

  1. MySQL 慢查询日志工具之pt-query-digest
  2. Python 面向对象编程
  3. 开发者如何快速精简容器云镜像?| 技术头条
  4. 习题3.4 最长连续递增子序列 (20 分) 数据结构 PTA
  5. Java高级工程师需要掌握哪些核心点?
  6. Windows7系统如果安装升级IE11浏览器
  7. 虚拟化识别共享USB加密狗|银行U盾等解决方案
  8. 刘鹏计算广告学听课笔记 第二章:合约广告系统(一)
  9. 头条推荐量越来越少,是否还要坚持下去?
  10. 上海泗博自动化 Modbus 转以太网模块应用于某污水处理系统
  11. ansys linux卸载干净,怎么把ansys删除干净
  12. 我国电子商务发展的进化策略
  13. ransomware(假的勒索病毒)逆向分析
  14. Cache与主存的地址映像
  15. Ubuntu Navicat 安装破解+解决乱码+其他问题
  16. 【20210906】让实验室服务器运行本地python代码
  17. 随机生成汉字(随机点名册)
  18. KM算法matlab实现
  19. dns服务器如何修改静态dns条目,静态地址怎么设置dns服务器
  20. cumt12月双月赛部分RE

热门文章

  1. Hibernate集合属性的元素为组件(三)
  2. SpringCloudRibbon
  3. [渝粤教育] 武昌理工学院 跨境电商实务 参考 资料
  4. 【渝粤题库】陕西师范大学800006 世界地理
  5. 【实物】端到端自动驾驶搭建教程(二)附完整资料
  6. 修改初始Manager QuerySets,重写Manager.get_query_set()函数之后,发现并没有按照我们指定的方法执行。...
  7. 【学亮IT手记】Ajax跨域问题精讲--jQuery解决跨域操作
  8. 【转】C语言条件编译及编译预处理阶段
  9. HUAS 1482 lsy的后宫(DP+矩阵快速幂)
  10. Elasticsearch分词导致的查找错误