Cod sursa(job #543937)

Utilizator GrimpowRadu Andrei Grimpow Data 28 februarie 2011 19:37:33
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream.h>
int main()
 {
 long long a[100000],min[100000]={0},n,k,j,i,b[100000]={0};
 ifstream f("scmax.in");
 f>>n;
 k=0;
 f>>a[0];
 min[0]=a[0];
 for(i=1;i<n;i++)
    {
    f>>a[i];
    if(a[i]<min[0]) min[0]=a[i];
    for(j=k;j>0;j--)
       if(a[i]<min[j]&&a[i]>min[j-1])
	 {
	 min[j]=a[i];
	 b[i]=j;
	 }
    if(a[i]>min[k])
      {
      k++;
      min[k]=a[i];
      b[i]=k;
      }
    }
 f.close();
 ofstream g("scmax.out");
 g<<k+1<<'\n';
 t=k;
 for(i=n-1;k!=0;i--)
    if(b[i]==k)
      {
      x[k]=a[i];
      k--;
      }
 for(j=0;j<t;j++)
    g<<x[j];
 g.close();
 return 0;
 }