专栏文章

题解:CF2053A Tender Carpenter

CF2053A题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqmtd99
此快照首次捕获于
2025/12/04 07:22
3 个月前
此快照最后确认于
2025/12/04 07:22
3 个月前
查看原文

CF2053B Tender Carpenter

分析

显然,我们将每一个元素都作为一个区间是一种方案。
所以我们只需要找到第二种方案,也就是只要有两个相邻元素的集合或者三个相邻元素的集合中所有选择情况都能够构成三角形即可。
由于三角形的三边是选出来的元素集合中可重复地选择 33 个,所以若有三个相邻元素的集合满足条件,则必定有某个两个相邻元素的集合满足条件,所以我们判断是否有两个相邻元素构成的的集合满足条件即可。
代码很好懂。

AC CODE

CPP
#include<bits/stdc++.h>
using namespace std;
int t;
int n,a[205];
int main(){
	cin>>t;
	while(t--){
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
		}
		bool flag=0;
		for(int i=1;i<n;i++){
			int x=a[i],y=a[i+1];
			if(a[i]+a[i]>a[i+1]&&a[i+1]+a[i+1]>a[i]) flag=1;
		}
		if(!flag) cout<<"NO\n";
		else cout<<"YES\n";
	}
	return 0;
} 

评论

0 条评论,欢迎与作者交流。

正在加载评论...