Cod sursa(job #2221577)

Utilizator Horia14Horia Banciu Horia14 Data 14 iulie 2018 21:24:53
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<cstdio>
#include<set>
#define MAX_N 5000
using namespace std;

int v[MAX_N+1], a[MAX_N+1], n, m;
set<int>s;

int main() {
    int i, j, l, lmin, k;
    set<int>::iterator it;
    FILE* fin, *fout;
    fin = fopen("secv.in","r");
    fout = fopen("secv.out","w");
    fscanf(fin,"%d",&n);
    for(i = 1; i <= n; i++) {
        fscanf(fin,"%d",&v[i]);
        s.insert(v[i]);
    }
    for(it = s.begin(); it != s.end(); it++)
        a[++m] = *it;

    lmin = n + 1;
    for(i = 1; i <= n; i++) {
        k = i;
        j = 1;
        l = n + 2;
        while(j <= m && k <= n) {
            if(v[k] == a[j]) {
                k++;
                j++;
            }
            else k++;
        }
        if(j > m)
            l = k - i;
        if(l < lmin)
            lmin = l;
    }
    if(lmin == n + 1)
        fprintf(fout,"-1\n");
    else fprintf(fout,"%d\n",lmin);
    fclose(fin);
    fclose(fout);
    return 0;
}