#include <iostream>
//----------------------------
using namespace std;
int main() {
int n = 0,flight = 0,ladder = 0; //flight为攀爬楼梯个数 ladder为楼梯数
cin>>n;
int _ladder[2020]; //考虑到不会有很多组数据,就定义定数组
int store [n]; //存储输入的梯子数
for(int i= 0; i<n; i++) {
cin>>store[i];
if(store[i]==1||i==n-1) { //特判i=n-1时,否则就输出不了最后一组楼梯数
if(store[i]==1){
flight++;
}
if(i==n-1){
_ladder[i]=ladder+1;
}
else
{
_ladder[i]=ladder;
}
ladder=0;
}
ladder++;
}
cout<<flight<<endl;
for(int i = 1; i<n; i++) {
if(store[i]==1||i==n-1) { //特判输出
cout<<_ladder[i]<<" ";
}
}
return 0;
}
考数组的应用,注意特判,不要漏情况