C. 城市重建
来源:互联网 发布:拼音域名 编辑:程序博客网 时间:2024/05/22 01:29
C. 城市重建
在城市的边缘有n个连续的建筑,包工头阿飞负责把这些建筑的高度改建为一致。他每次会有连续两个操作:
1.在最后一个建筑后面建造一个和当前建筑中第m个建筑高度相同的建筑。
2.拆除当前建筑中最前面的建筑。
阿飞是一个理智的人,他在开工之前想知道他是否能完成这个任务。
Input
案例有多组,第一行给出n和m,(1<=m<=n<=10^5),第二行给出n个数,a1,a2….an(1<=ai<=10^5),表示建筑的高度。
Output
每行输出一个答案,如果阿飞能完成任务,输出他需要操作的最少次数,否则输出No。
Sample Input
4 2
3 1 1 1
4 1
3 1 1 1
Sample Output
1
No
蛇皮题 直接看代码
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<stack>#include<queue>#include<cctype>#include<functional>using namespace std;#define swap(a,b) {long long c=a;a=b;b=c;}const int MAX = 999999;const double Eps = 1e-12;const double PI = acos(-1.0);int gcd(int x, int y){ return x%y == 0 ? y : gcd(y, x%y);}//int a[111111];int a[111111];int main(){ int n, m; while (~scanf("%d %d",&n,&m)) { int flag = 1; for (int i = 1; i <= n; i++) { scanf("%d",&a[i]); } for (int i = n; i >1; i--) { if (a[i] != a[i - 1]) { flag = i; break; } } if (flag>m) { puts("No"); } else { printf("%d\n", flag - 1); } }}
阅读全文
0 0
- C. 城市重建
- 城市重建(网络流)
- hdu5352城市重建 (km,最大流,费用流)
- 城市
- 城市
- 城市
- 城市
- 《城市》
- 收费公路重建问题C语言
- 重建二叉树 C语言实现
- oracle 12c 重建序列SEQUENCE
- 剑指offer06题二叉树的重建(c语言)
- 剑指offer面试题6 重建二叉树(c)
- oracle rac 12c环境脱离节点故障重建
- 剑指offer(C++)——重建二叉树
- 剑指offer(C++)——重建二叉树
- 剑指offer题解C++【4】重建二叉树
- 城市摩天楼问题 ,求最优解(c++)
- <基础知识>github配置和基本使用
- C++类构造函数初始化列表
- 判断机器的大小端
- [java]-[并发编程]
- 使用SpringMVC配合jQuery文件上传插件ssi-uploader实现多图片可预览上传
- C. 城市重建
- 特长生模拟 采药(dp,背包)
- 【bzoj3224】Tyvj 1728 普通平衡树
- weka之初窥Instances类
- B. 完美对称
- extern略记
- CodeForces
- A. 奇数和
- 串口通信小结