Cod sursa(job #983823)

Utilizator Daniel3717Aleca Daniel Adrian Daniel3717 Data 12 august 2013 19:49:57
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
queue<int> arr[1000];
int k[1000],mx,pmx,n,i,nr,pos;
int main(void)
{
    FILE * f;
    f=fopen("scmax.in","r");
    ofstream g("scmax.out");
    fscanf(f,"%d",&n);
    for (i=1;i<=n;i++)
    {
        fscanf(f,"%d",&nr);
        pos=1;
        while ((!arr[pos].empty())&&(arr[pos].back()>=nr))
            pos++;
        arr[pos].push(nr);
        k[pos]++;
        if (k[pos]>mx)
        {
            mx=k[pos];
            pmx=pos;
        }
    }
    g<<mx<<'\n';
    while (!arr[pmx].empty())
    {
        g<<arr[pmx].front()<<' ';
        arr[pmx].pop();
    }
    g.close();
    return 0;
}