博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客小白赛4 A 三角形 数学
阅读量:6637 次
发布时间:2019-06-25

本文共 1637 字,大约阅读时间需要 5 分钟。

链接:

来源:牛客网

题目描述

铁子从森林里收集了n根木棍,她开始将它们按顺序的排成一排,从左到右依次为1到n,她回想起
在数学课上老师教她的三角形知识,她开始从这些木棍中间找三根木棍来组成一个周长最大的三角形,
这时她的兄弟顺溜偷偷的溜了过来,偷走了第i根木棍,现在她想知道现在能够组成周长最大的三角形
的周长是多少?

输入描述:

第一行两个整数n和q。(1 ≤ n, q ≤ 10
5)
第二行n个整数表示第i根木棍的长度a
i。(1 ≤ a
i ≤ 10
9)
接下来q行,每行一个整数表示被顺溜偷走的木棍编号。注意每行的事件是独立的,也就是说每一次操作都是对于原来的n根木棍进行的。
 

输出描述:

对于每个询问输出一行表示答案,如果删除木棍后无法组成三角形则输出 -1 。
示例1

输入

6 21 2 3 4 5 665

输出

1213 分析:要求三角形周长最大,则首先满足的是三边中任意两边之和大于第三边,然后我们知道如果这三边满足一个三角形肯定是最大的三边在一起周长才最大   所以我们直接排序所有边记录下编号,然后除去问的编号枚举出最大的满足构成三角形的三边就行了 AC代码:
#include #include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ls (r<<1)#define rs (r<<1|1)#define debug(a) cout << #a << " " << a << endlusing namespace std;typedef long long ll;const ll maxn = 1e5+10;const ll mod = 998244353;const double pi = acos(-1.0);const double eps = 1e-8;struct node { ll id, num;};bool cmp( node p, node q ) { return p.num > q.num;}node a[maxn];int main() { ios::sync_with_stdio(0); ll n, m, x; cin >> n >> m; for( ll i = 0; i < n; i ++ ) { cin >> a[i].num; a[i].id = i+1; } sort(a,a+n,cmp); while( m -- ) { cin >> x; ll cnt = 0, ans = 0; bool flag = false; for( ll i = 0; i < n; i ++ ) { if( a[i].id != x ) { ans += a[i].num; cnt ++; } if( cnt == 3 ) { if( a[i].num + a[i-1].num > a[i-2].num ) { cout << ans << endl; flag = true; break; } else { ans -= a[i-2].num, cnt --; } } } if( !flag ) { cout << -1 << endl; } } return 0;}

  

转载于:https://www.cnblogs.com/l609929321/p/9532019.html

你可能感兴趣的文章
充电第二天
查看>>
JAX-WS
查看>>
easyrec——一个开源推荐系统
查看>>
C++ wait/notify机制
查看>>
Java线程
查看>>
spring cloud
查看>>
Binder进程间通信(二)---- 驱动程序初始化
查看>>
redis sentinel 主从切换(failover)解决方案,详细配置
查看>>
Java 8: 从永久代(PermGen)到元空间(Metaspace)
查看>>
Lua 5.3.3 一个string.len的异常
查看>>
Hadoop2.2.0 入门教程(三)之HDFS SHELL脚本
查看>>
吉软—Java-Css+Div 实现导航
查看>>
jquery banner 轮播配置方法
查看>>
Linux 关机前执行脚本
查看>>
Java 基础数据类型 、 == 、 equals
查看>>
通俗易懂的 Npm 入门教程
查看>>
深入理解jQuery中live与bind方法的区别
查看>>
推荐一款不错的jquery时间控件(强大的处理事务性)
查看>>
不同系统下的回车\r和换行\n,及其历史
查看>>
Spring boot + io.springfox Swagger2 统一添加header 参数的方法:globalOperationParameters
查看>>