Cod sursa(job #2191930)

Utilizator lonca.sorin1Lonca Sorin lonca.sorin1 Data 4 aprilie 2018 09:57:48
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int x[100010], k[100010], pz[100010], nr;

int maxi(int poz)
{
    int mx = INT_MIN;
    for (int i = 1; i <= poz; i++)
        if (k[i] > mx && x[i] < x[poz + 1])
            mx = k[i];
    return mx;
}

int main()
{
    int n, maX, actual, mx = INT_MIN;
    f>>n;
    for (int i = 1; i <= n; i++)
        f>>x[i];
    for (int i = 1; i <= n; i++)
    {
        maX = maxi(i - 1);
        k[i] = max(maX + 1, k[i]);
        if (k[i] > mx)
            mx = k[i];
    }
    g<<mx + 1<<'\n';
    for (int i = 1; i <= n; i++)
        g<<k[i]<<" ";
    return 0;
}