Cod sursa(job #864537)

Utilizator sandugavrilaGavrila Alexandru sandugavrila Data 25 ianuarie 2013 09:46:18
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <stdio.h>

using namespace std;
int v[100005];
int main()
{
    int n,i,p=0,p2=0,max=0,max2=0;
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
    scanf("%d",&n);
    scanf("%d",&v[1]);
    max=1;
    p=1;
    for(i=2;i<=n;i++)
    {
        scanf("%d",&v[i]);

        if(v[i-1]==v[i])
        {
            max--;
        }
        if(v[i-1]>v[i])
        {
            if(max>max2)
            {
                max2=max;
                p2=p;
            }
            max=0;
            p=i;
        }
        max++;

    }
    if(max>max2)
    {
        max2=max;
        p2=p;
    }
    printf("%d\n",max2);
    for(i=p2;max2;i++)
    {
        if(v[i]!=v[i-1])
        {
            printf("%d ",v[i]);
            max2--;
        }

    }
    return 0;
}