Cod sursa(job #261195)

Utilizator redkar23Dezactiveazama redkar23 Data 17 februarie 2009 22:28:46
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>

using namespace std;

fstream f;
fstream g;
int vect[100000];
int ct[100000];
int i,j;
int n;

int main()
{
    f.open("scmax.in",fstream::in);
    f >> n;
    for(i=0;i<n;i++)
       f >> vect[i];
    f.close();
    
    g.open("scmax.out",fstream::out);
    ct[n-1]=1;
    for(i=n-2;i>=0;i--)
   {if(vect[i]==vect[i+1])
       ct[i]=ct[i+1];
       else
       if(vect[i]>=vect[i+1])
           for(j=i+1;j<n;j++)
            {
             if(vect[i]<vect[j])
                   ct[i]=ct[j]+1;
             if(j==n-1)
               ct[i]=1;
               }   
       else
         ct[i]=ct[i+1]+1;
}    
     int max=0;
     for(i=0;i<n;i++)
        if(ct[i]>max)
          max = ct[i];
     g << max << "\n";
     for(i=0;i<n;i++)
       if(max == ct[i])
       {
              g << vect[i] << " ";
              max--;
       }   
     g.close();
    
    return 0;
}