little w and Sum(思维)
链接: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(思维)相关推荐
- Codeforces Round #636 (Div. 3) D. Constant Palindrome Sum 思维 + 差分
传送门 文章目录 题意: 思路: 题意: 思路: 首先有一个显然的性质就是每组操作最多不会超过两次. 很容易想到一个很暴力的思路,就是枚举x∈[1,2∗k]x \in [1,2*k]x∈[1,2∗k] ...
- 【牛客 - 297B】little w and Sum(水题,前缀和)
题干: 小w与tokitsukaze一起玩3ds上的小游戏,现在他们遇到了难关. 他们得到了一个数列,通关要求为这个数列的和为0,并且只有一次改变一个数的符号的机会(正数变成负数,负数变成正数). 请 ...
- CodeForces - 1343D Constant Palindrome Sum(思维+差分数组)
题目链接:点击查看 题目大意:给出 n 个数,保证 n 是偶数,且每个数的范围都在 [ 1 , k ] 之间,现在问我们至少需要给多少个数重新赋值,使得可以满足条件: 所有的数的值域都在 [ 1 , ...
- 【牛客 - 188C】水图(bfs树的直径,思维)
题干: 链接:https://ac.nowcoder.com/acm/contest/188/C 来源:牛客网 小w不会离散数学,所以她van的图论游戏是送分的 小w有一张n个点n-1条边的无向联通图 ...
- 【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 ...
- CDQ分治 + 树状数组 ---- C. Goodbye Souvenir(三维偏序+思维)
题目链接 题目大意: 给定长度为nnn的数组, 定义数字XXX在[l,r][l,r][l,r]内的值为数字XXX在[l,r][l,r][l,r]内最后一次出现位置的下标减去第一次出现位置的下标 给定m ...
- HDU 6058 - Kanade's sum | 2017 Multi-University Training Contest 3
/* HDU 6058 - Kanade's sum [ 思维,链表 ] | 2017 Multi-University Training Contest 3 题意:给出排列 a[N],求所有区间的第 ...
- ACM思维题训练 Section A
题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeFo ...
- 由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b
题目:由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b 相信很多人都会使用LIBSVM软件包,svmtrain和svmpredict两个函数分别完成训练和预测:svmtrai ...
- 【牛客 - 369C】小A与欧拉路(bfs树的直径)
题干: 链接:https://ac.nowcoder.com/acm/contest/369/C 来源:牛客网 小A给你了一棵树,对于这棵树上的每一条边,你都可以将它复制任意(可以为0)次(即在这条边 ...
最新文章
- MySQL 慢查询日志工具之pt-query-digest
- Python 面向对象编程
- 开发者如何快速精简容器云镜像?| 技术头条
- 习题3.4 最长连续递增子序列 (20 分) 数据结构 PTA
- Java高级工程师需要掌握哪些核心点?
- Windows7系统如果安装升级IE11浏览器
- 虚拟化识别共享USB加密狗|银行U盾等解决方案
- 刘鹏计算广告学听课笔记 第二章:合约广告系统(一)
- 头条推荐量越来越少,是否还要坚持下去?
- 上海泗博自动化 Modbus 转以太网模块应用于某污水处理系统
- ansys linux卸载干净,怎么把ansys删除干净
- 我国电子商务发展的进化策略
- ransomware(假的勒索病毒)逆向分析
- Cache与主存的地址映像
- Ubuntu Navicat 安装破解+解决乱码+其他问题
- 【20210906】让实验室服务器运行本地python代码
- 随机生成汉字(随机点名册)
- KM算法matlab实现
- dns服务器如何修改静态dns条目,静态地址怎么设置dns服务器
- cumt12月双月赛部分RE
热门文章
- Hibernate集合属性的元素为组件(三)
- SpringCloudRibbon
- [渝粤教育] 武昌理工学院 跨境电商实务 参考 资料
- 【渝粤题库】陕西师范大学800006 世界地理
- 【实物】端到端自动驾驶搭建教程(二)附完整资料
- 修改初始Manager QuerySets,重写Manager.get_query_set()函数之后,发现并没有按照我们指定的方法执行。...
- 【学亮IT手记】Ajax跨域问题精讲--jQuery解决跨域操作
- 【转】C语言条件编译及编译预处理阶段
- HUAS 1482 lsy的后宫(DP+矩阵快速幂)
- Elasticsearch分词导致的查找错误