九度oj 1131
来源:互联网 发布:澳洲gpa算法 编辑:程序博客网 时间:2024/05/21 10:44
- 题目描述:
N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。
合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,
则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i <= K)。
你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。
- 输入:
输入的第一行是一个整数N(2 <= N <= 100),表示同学的总数。
第一行有n个整数,用空格分隔,第i个整数Ti(130 <= Ti <= 230)是第i位同学的身高(厘米)。
- 输出:
可能包括多组测试数据,对于每组数据,
输出包括一行,这一行只包含一个整数,就是最少需要几位同学出列。
- 样例输入:
8186 186 150 200 160 130 197 220
- 样例输出:
4
- 来源:
2008年北京大学方正实验室计算机研究生机试真题
#include<stdio.h>int a[101];int b[101];int c[101];int max(int x,int y){ return (x>y)?x:y;}int main(){ int n; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } for(int i=1;i<=n;i++) { int tmax=1; for(int j=1;j<i;j++) { if(a[j]<a[i]) { tmax=max(tmax,b[j]+1); } } b[i]=tmax; } for(int i=n;i>=1;i--) { int cmax=1; for(int j=n;j>i;j--) { if(a[i]>a[j]) { cmax=max(cmax,c[j]+1); } } c[i]=cmax; } int ans=1; for(int i=1;i<=n;i++) { ans=max(ans,b[i]+c[i]); } ans--; ans=n-ans; printf("%d\n",ans); } }
0 0
- 九度oj 1131
- 九度oj 1131
- 【九度OJ】:九度OJ 1050
- 【九度OJ】:九度OJ 1053
- 【九度OJ】:九度OJ 1056
- 【九度OJ】:九度OJ 1059
- 【九度OJ】:九度OJ 1206
- 九度OJ 1131 合唱队形
- 九度OJ-1131-合唱队形
- 九度OJ 题目1131:合唱队形
- 九度 oj 题目1131:合唱队形
- 九度OJ:1000
- 【九度OJ】 1006
- 九度 OJ 1499
- 九度OJ-1002
- 九度OJ-1003
- 九度OJ 1004
- 九度OJ 1003
- mysql本地访问linux服务器,出现SQLSTATE[HY000] [1130] Host '127.0.0.1' is not allowed to connect to this
- 贾青深夜前往派出所报案严厉谴责不雅照事件
- C++学习
- 散列表的C语言实现-开放定址法
- 《爵迹》主演海报集合票房被看好郭敬明颜控造福粉丝
- 九度oj 1131
- CasperJS 抓取京东商品详情页中的商品信息
- 【shell脚本练习】grep sed awk
- CodeForces 435B
- Proguard.cfg 配置
- 黑马程序员——网络编程3:网络通讯组件介绍及演示-下
- 范冰冰与李晨合体捞金遭粉丝催婚 获赠婚床捂脸羞笑
- HDU - 3460 Ancient Printer(字典树)
- Java中abstract class 和 interface 的解释和他们的异同点(转)