Cod sursa(job #903956)

Utilizator DanyPrvPirvoaica Daniel DanyPrv Data 3 martie 2013 14:51:06
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
using namespace std;
FILE *f=fopen("scmax.in","r"),
    *g=fopen("scmax.out","w");
int a[100001],i,st,dr,p,u,n,nr;
int main()
{
    int max=0;
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(f,"%d",&a[i]);
    p=1;
    st=1;
    dr=1;
    for(u=2;u<=n;u++){
        if(a[u-1]>a[u]){
            if(u-p>max){
                max=u-p;
                st=p;
                dr=u;
                p=u;
            }
        }
    }
    if(u-p+1>max){
        max=u-p-1;
        st=p;
        dr=u-1;
        p=u;
    }
    for(i=st;i<=dr;i++){
        if(a[i-1]!=a[i])
            nr++;
    }
    fprintf(g,"%d\n",nr);
    for(i=st;i<=dr;i++){
        if(a[i-1]!=a[i])
            fprintf(g,"%d ",a[i]);
    }
    return 0;
}