CF1197B
CF1197B
题意:
出n个柱子,每个柱子一个圆盘,其半径各不相同,每次只能将柱子上只有一个圆盘的移到相邻位置,问能否全部移到一个柱子上。
解法:
思路题。
如果所有盘子都能移动到同一个柱子上,那么有两种情况:1.整个序列单调递增或单调递减
2.序列中的每一个位置前面的元素单调递增,后面的元素单调递减然后根据这两条性质判断即可。
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define LL long long
#define N 200010
int n,a[N],pos;
int main() {
scanf("%d",&n);
for(int i = 1 ; i <= n ; i++)
scanf("%d",&a[i]);
for(int i = 1 ; i <= n ; i++) {
if(a[i] > a[pos]) pos = i;
}
for(int i = pos ; i >= 2 ; i--) {
if(a[i] < a[i - 1]) {
puts("NO");
return 0;
}
}
for(int i = pos ; i < n ; i++) {
if(a[i] < a[i + 1]) {
puts("NO");
return 0;
}
}
puts("YES");
//system("pause");
return 0;
}
CF1197B的更多相关文章
随机推荐
- ASP.NET Core本身已经集成了一个轻量级的IOC容器
1.services.AddTransient<IApplicationService,ApplicationService>//服务在每次请求时被创建,它最好被用于轻量级无状态服务(如我 ...
- ubuntu装openssh-client和openssh-server
1. 修改update源 进入/etc/apt/目录,首先用cp命令将sources.list备份成sources.list.bk,然后复制http://www.cnblogs.com/eastson ...
- 动态规划-最大算式 蓝桥杯ALGO-116
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...
- POJ2945(Find the Clones)--字典树,map
题意:给你n个规定长度的单词,问你其中出现了1次的单词,出现两次的单词...出现n次单词分别有多少个. 当然这题map也能过,但是这里介绍字典树的做法. 首相对于n个单词存入树中,当然建树过程中遇到一 ...
- restTemplate源码解析(四)执行ClientHttpRequest请求对象
所有文章 https://www.cnblogs.com/lay2017/p/11740855.html 正文 上一篇文章中,我们创建了一个ClientHttpRequest的实例.本文将继续阅读Cl ...
- JavaScript指定日期格式化
formatDataToString:function (dates, formats) { var o = { "M+": dates.getMonth() + 1, //月份 ...
- ajax对数据删除、查看详情功能
运用bootstrap,jquery和ajax显示一些数据,附加删除功能并且点击能弹出模态框详情功能 主页面main.php <!DOCTYPE html PUBLIC "-//W3C ...
- 【leetcode】575. Distribute Candies
原题 Given an integer array with even length, where different numbers in this array represent differen ...
- Subordinates(贪心)
题目大意: 一共有N个员工,其中最高领导人是编号s的人,每个人都只有一个直接领导,每个人都说出了自己领导的个数,问最少有几个人撒谎了. 思路: 合理的贪心是该把排最后的数变成缺少的数字,然后继续判断. ...
- selenium 显示等待wait.until 常用封装 及下拉框的选择操作等
from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait a ...