360笔试编程题-圈地运动
- 题目描述
圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形。小明喜欢圈地运动,于是他需要去小红店里买一些木棍,期望全出一块地来。小红想挑战一下小明,所以给小明设置了一些障碍。障碍分别是:
1)如果小明要买第i块木棍的话,他就必须把前i-1块木棍都买下来;2)买了的木棍都必须用在圈地运动中。
那么请问小明最少买多少根木棍,才能使得木棍围成的图形是个面积大于0的多边形呢?
输入
第一行一个数n,表示木棍个数,第二行n个数,第i个数表示第i个木棍的长度ai,i<=n<=10000,1<=ai<=10000。
输出
输出一个数,表示最少需要的木棍个数,如果无解输出-1。
样例输入
3
6 8 10
样例输出
3
解题思路
n个木棍能够围成一个多边形的条件是,这n个木棍中最长的木棍长度要小于其余n-1个木棍的长度总和。所以,遍历一遍这些木棍,维护一个最长的木棍和其余木棍的总和就可以了。另外,当木棍个数小于3以及遍历完都没有符合条件的数据时,输出-1。
代码如下(AC):
#include <iostream>
#include<vector>
using namespace std;int main()
{int n;cin>>n;vector<int> v;for(int i=0;i<n;i++){int tmp;cin>>tmp;v.push_back(tmp);}if(n<3){cout<<-1<<endl;}else{int key=max(max(v[0],v[1]),v[2]); //记录最长的木棍int sum=v[0]+v[1]+v[2]-key; //记录除最长木棍之外的木棍长度之和if(sum>key) cout<<3<<endl;else{int i;for(i=3;i<n;i++){if(v[i]>key){sum=sum+key;key=v[i];}else{sum=sum+v[i];}if(sum>key){cout<<i+1<<endl;break;}}if(i==n) cout<<-1<<endl; //循环结束也没有找到满足条件的值}}return 0;
}
360笔试编程题-圈地运动相关推荐
- 2012年奇虎360校园招聘实习生笔试编程题
2012年奇虎360校园招聘实习生笔试编程题 1. 自己实现库函数 int atoi(const char* str); 注意两点:(1). 字符串中,符号位的处理. (2).字符串中,出现非数字 ...
- 大厂offer?拿来吧你!网易有道笔试编程题特辑
联系我们:有道技术团队助手:ydtech01 / 邮箱:ydtech@rd.netease.com 欢迎应届生同学们 来到2022年校招运动会 现在迎面向你们走来的 是网易有道代表队! (传送门:ht ...
- 字节跳动2019春招第二次笔试编程题
字节跳动2019春招第二次笔试编程题 1.变身程序员 题目描述 输入描述 输出描述 示例 示例1 示例2 示例3 分析 参考代码 2.特征提取 题目描述 输入描述 输出描述 示例 示例1 备注 分析 ...
- 2020校招4399游戏开发岗笔试编程题题解部分
2020校招4399游戏开发岗笔试编程题题解 序号四 题目描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 输入描述: 一 ...
- python算法预测风险等级_一般算法水平到底什么样子才能秒杀Bat的笔试编程题?...
很简单,打开 LintCode 随便找一道中等难度的题,如果能很快找到思路并提交代码通过,那么BAT公司的笔试编程题基本没什么问题了.(唯一需要注意的是国内公司笔试题目一般都很长,比较考验阅读理解能力 ...
- 网易笔试编程题java_2017年网易校招笔试JAVA研发编程题
为什么80%的码农都做不了架构师?>>> 尝试挑战了下网易2017校招的笔试编程题,共三题,AC第一题,第二题思考了很久勉强用一种low逼的方式完成,第三题没有完成,希望路过的ACM ...
- 经典笔试编程题--Java实现
转载自 经典笔试编程题--Java实现 1.输入一个正数n,输出所有和为n的连续正数序列. 分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值.sum ...
- 美团点评2017秋招笔试编程题
美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是 ...
- 2020哔哩哔哩校招后端开发笔试编程题总结
2020哔哩哔哩校招后端开发笔试编程题总结 1.给定一个正整数N,试求有多少组连续正整数满足所有数字之和为N? (1 <= N <= 10 ^ 9) 暴力求解法: package Day4 ...
最新文章
- Linux sed Examples--转载
- 【题解】p1064 金明的预算方案
- 11(maven+SSH)网上商城项目实战之Freemarker 页面静态化
- 《趣学CCNA——路由与交换》一2.3 网络层协议概述
- P1525-关押罪犯【并查集】
- Android--RxJava2更新体验
- java+读取source资源_如何从JavaJAR文件中读取资源文件?
- visio给图片添加任意形状外框
- SPSS分析基础——T检验
- CSS 常见布局 水平垂直居中对齐
- 如何避免成为一个油腻的中年猥琐男
- 判断二极管导通例题_朝花夕拾——2018全国1卷导数压轴题原题重现
- 七夕节送女朋友什么礼物最好、七夕最走心的礼物清单
- DBGrid 各属性的设置
- python有趣小程序 表白-python表白小程序
- markdown_typora排版编辑技巧(样式嵌套/撤销/列表缩进)/表格内换行
- 冰点还原精灵7.0密码忘记的解决方案
- MAMP Pro 6 mac强大的本地服务器环境软件套装
- opencv学习笔记(1) TermCriteria 和 光流法特征点
- python调用ansys