.
You are given all the numbers pronounced by Tanya. How many stairways did she climb? Also, output the number of steps in each stairway.
The given sequence will be a valid sequence that Tanya could have pronounced when climbing one or more stairways.
The first line contains n
) — the total number of numbers pronounced by Tanya.
The second line contains integers a1,a2,…,an
( 1≤ai≤1000) — all the numbers Tanya pronounced while climbing the stairs, in order from the first to the last pronounced number. Passing a stairway with x steps, she will pronounce the numbers 1,2,…,xin that order.
The given sequence will be a valid sequence that Tanya could have pronounced when climbing one or more stairways.
In the first line, output t
numbers — the number of steps in each stairway she climbed. Write the numbers in the correct order of passage of the stairways.
7 1 2 3 1 2 3 4
2 3 4
4 1 1 1 1
4 1 1 1 1
5 1 2 3 4 5
1 5
5 1 2 1 2 1
3 2 2 1
题意:Tanya每走一级楼梯就会报数,每走新的一层将从1报,输出Tanya一共走了几层楼梯,分别有多少
级楼梯
思路:当遇到1表示走到了新的一层楼梯,前边的一个数为前一层共有的阶梯级数
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int N = 1005;
int a[N],b[N];
int main(){
int n,pos=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++){
if(i==n||a[i]==1) b[pos++]=a[i-1];
}
printf("%d\n",pos);
for(int i=0;i<pos-1;i++)
printf("%d ",b[i]);
printf("%d\n",b[pos-1]);
return 0;
}