Cod sursa(job #543527)

Utilizator GrimpowRadu Andrei Grimpow Data 28 februarie 2011 10:51:33
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 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';
 for(i=n-1;k!=0;i--)
    if(b[i]==k)
      {
      g<<a[i]<<" ";
      k--;
      }
 g.close();
 return 0;
 }