Codeforces Round #496 A Tanya and Stairways(水)

题意
给你n个数,问你有多少组1,2,3…n,每一组都从1开始 ,并输出每一组的最后一个和数字。
思路:
首先显然可得一个这组数中有多少个1就有多少个,之后1之前的数是我们要的,然后一个小细节处理一下就好了
上代码:

#include <bits/stdc++.h>
using namespace std;
int a[1000];
vector<int>V;
int main()
{
    int n;
    scanf("%d",&n);
    for(int i = 0 ; i < n ; i++)
    {
        scanf("%d",&a[i]);
    }
    int ans = 0,sum = 0;
    for(int i = 0 ; i < n ;i++)
    {
        if(a[i] == 1)
        {
            //V.push_back(a[i]);
            ans++;
            if(i)
            {
                V.push_back(a[i-1]);
            }
        }
    }
    V.push_back(a[n-1]);
    printf("%d\n",V.size());
    for(int i = 0 ; i <V.size() ; i++)
    {
        cout<<V[i]<<" ";    
    }
}

重点内容

猜你喜欢

转载自blog.csdn.net/wjmwsgj/article/details/80981949