Cod sursa(job #768684)

Utilizator memaxMaxim Smith memax Data 17 iulie 2012 16:41:36
Problema Subsir crescator maximal Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
    ifstream cinr ("scmax.in");
    ofstream cour ("scmax.out");
    int n,k;
    cinr >> n;
    int a[n+1];
    vector<int> v(1);
    cinr >> k;
    v.push_back(k);
    a[1]=k;
    for(int j=1; j<n; j++){
            cinr >> k;
            if(k>v[v.size()-1]){ v.push_back(k); a[v.size()-1]=k; }
            for(int i=v.size()-2; i>0; i--){
                    if(v[i]<k){ 
                               v[i+1]=min(v[i+1], k); 
                               a[i+1]=v[i+1];
                               }
                    }
            if(k<v[1]){ v[1]=k; a[1]=k; }
            }    
    cour << v.size()-1 << "\n";
    for(int i=1; i<v.size(); i++) cour << a[i] << " ";
    //cin.ignore(2);
    return 0;
    }