NC21550. 小乐乐跳木桩
描述
小乐乐看其他的小朋友都会走路了之后,自己心里十分的不甘心,也想要学会走路,而且还要比他们走的更好!
现在有n个木桩,小乐乐打算挑战一下这些木桩。小乐乐从第一个木桩开始跳,假如小乐乐跳过了当前高度为a[i]的木桩,那么在后面的木桩中,小乐乐就不会再走比a[i]矮的木桩了(毕竟人往高处走)。当走完最后一节木桩时,小乐乐高兴坏了,急着要向其他小朋友去炫耀自己的战果。但是小乐乐已经忘了自己走过多少节木桩了,现在小乐乐可怜巴巴的瞅着你,你能帮他计算一下他一共走了多少节台阶了吗?
输入描述
多组样例输入。第一行一个数字n(1 <= n <=
100000),代表所有的木桩。第二行有n个由空格隔开的数字,对于每个数字a[i], (1 <= a[i] <= 100000)。
输出描述
输出一个整数,代表小乐乐跳过的木桩数量。
示例1
输入:
5 3 3 2 4 5
输出:
4
说明:
在当前样例中,小乐乐不会跳第三个木桩C++(g++ 7.5.0) 解法, 执行用时: 209ms, 内存消耗: 432K, 提交时间: 2023-07-04 17:29:21
#include <iostream> using namespace std; int main() {int a; while(cin>>a){ int cnt=0; int x=0; while(a--){ int b; cin>>b; if(b>=x){ cnt++; x=b; } } cout<<cnt<<endl; } return 0; }
C(clang 3.9) 解法, 执行用时: 133ms, 内存消耗: 456K, 提交时间: 2018-12-01 13:45:36
#include<stdio.h> int main() { int n,s=0,t=0,x; while(~scanf("%d",&n)){ for(;n>0;n--){ scanf("%d",&x); if(x>=s){ t++; s=x; } } printf("%d\n",t); t=0; s=0; } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 135ms, 内存消耗: 616K, 提交时间: 2018-12-01 17:33:06
#include <stdio.h> int main() { int n,a,sum,d; while(~scanf("%d",&n)) { sum=0;d=0; while(n--) { scanf("%d",&a); if(a>=d) { sum++;d=a; } } printf("%d\n",sum);} return 0; }