CF1005A Tanya and Stairways

2024-02-19 14:38
文章标签 cf1005a tanya stairways

本文主要是介绍CF1005A Tanya and Stairways,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

题目描述

Little girl Tanya climbs the stairs inside a multi-storey building. Every time Tanya climbs a stairway, she starts counting steps from 1 1 1 to the number of steps in this stairway. She speaks every number aloud. For example, if she climbs two stairways, the first of which contains 3 3 3 steps, and the second contains 4 4 4 steps, she will pronounce the numbers 1,2,3,1,2,3,4 1, 2, 3, 1, 2, 3, 4 1,2,3,1,2,3,4 .

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 n n ( 1≤n≤1000 1 \le n \le 1000 1≤n≤1000 ) — the total number of numbers pronounced by Tanya.

The second line contains integers a1,a2,…,an a_1, a_2, \dots, a_n a1​,a2​,…,an​ ( 1≤ai≤1000 1 \le a_i \le 1000 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 x x steps, she will pronounce the numbers 1,2,…,x 1, 2, \dots, x 1,2,…,x in 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 t t — the number of stairways that Tanya climbed. In the second line, output t t t numbers — the number of steps in each stairway she climbed. Write the numbers in the correct order of passage of the stairways.

 

输入输出样例

输入样例#1: 复制

7
1 2 3 1 2 3 4

输出样例#1: 复制

2
3 4 

输入样例#2: 复制

4
1 1 1 1

输出样例#2: 复制

4
1 1 1 1 

输入样例#3: 复制

5
1 2 3 4 5

输出样例#3: 复制

1
5 

输入样例#4: 复制

5
1 2 1 2 1

输出样例#4: 复制

3
2 2 1 

 

很简单,上代码:

#include<cstdio>
using namespace std;
int a[1000],b[1000];
int n,temp,j=0,ans=0;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&temp);a[temp]++;if(temp!=1){b[j]++;}if(temp==1)j++;}printf("%d\n",a[1]);for(int i=1;i<=j;i++)printf("%d ",(b[i]+1));return 0;}

 

这篇关于CF1005A Tanya and Stairways的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/724980

相关文章

Codeforces Round #288 (Div. 2) D. Tanya and Password 欧拉回路

D. Tanya and Password time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output While dad was at work, a little girl Tanya decided to play with dad

CodeForces 508D Tanya and Password(欧拉路径)

题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=111980 Tanya and Password Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit Status Descript