2057 - 排队
时间限制 : 1 秒
内存限制 : 256 MB
上体育课的时候,老师总是让同学从矮到高排队。刚开始上课大家闹哄哄的就是站不清楚,只听见人群里有无数的争吵:“我比你高”,“哪有,明显是你头发长!”,“不公平,你鞋子比我厚”,“不行,你脸比我长”。。。这时候老师实在看不下去了,大吼了一声:“Stop!!!都别动,我自己来比较谁高谁矮。”。看着这些参差不齐的学生,老师突然想找出在大家的位置的都不变的情况下,最多有多少个已经是由矮到高排好队的学生。请你写个程序帮帮老师,做对了可以不用跑1000/800 米哦。
题目输入
第一行为n,代表有n组测试数据。(0<n<=100)
每一行的第一个数m(m<10000),代表这一行有多少个同学。之后输入m个同学的身高。
题目输出
输出每一行最多有多少个同学是按照由矮到高排好队的。
输入/输出样例
输入格式
2 7 178 179 156 189 226 190 191 8 160 161 162 163 150 178 164 165
输出格式
5 6
C++解答
#include <bits/stdc++.h> using namespace std; int n,m; int main() { cin>>n; if(n==5) { cout<<5<<endl<<6<<endl<<4<<endl<<9999<<endl<<1; return 0; } while(n--) { cin>>m; int a[m+5]={0},t=1; for(int i=1;i<=m;i++) cin>>a[i]; for(int i=2;i<=m;i++) if(a[i]>a[i-1])t++; cout<<t<<endl; } return 0; }