Cod sursa(job #3185096)

Utilizator Alex_BerbescuBerbescu Alexandru Alex_Berbescu Data 17 decembrie 2023 22:36:52
Problema Secv Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#pragma GCC optimize("O3")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx2")
#include<bits/stdc++.h>
using namespace std;
int a[5005], v[5005], poz[5005], n, dim, k, lmax = -1, lc, nr;
ifstream fin("secv.in");
ofstream fout("secv.out");
int32_t main(int argc, char * argv[])
{
    fin >> n;
    for(int i = 1; i <= n; ++i)
    {
        fin >> v[i];
        a[i] = v[i];
    }
    sort(a + 1, a + n + 1);
    k = 1;
    a[1] = 1;
    for(int i = 2; i <= n; ++i) // normalizare
    {
        if(a[i] != a[i - 1])
        {
            k++;
            a[i] = k;
        }
    }
    for(int i = 1; i <= n; ++i) // prima pozitie cel mai mic element ultima pozitie cel mai mare element
    {
        int j;
        nr = 1;
        for(j = i; j <= n; ++j)
        {
            if(a[j] == nr)
            {
                nr++;
            }
            if(nr == k + 1)
            {
                lmax = max(lmax, j - i + 1);
                break;
            }
        }
    }
    fout << lmax;
    return 0;

}