Cod sursa(job #3369277)

Utilizator Ianis1212Prentu Ianis Ianis1212 Data 19 octombrie 2026 09:17:01
Problema Secv Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <fstream>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int main()
{
    int n,min_i=0,max_i=0,u_i=0,i;
    fin>>n;
    vector<pair<int,int>>v(n);
    for (int i=1;i<=n;i++)
    {fin>>v[i].first;
    v[i].second=i;
    }
    sort (v.begin()+1,v.end());
    min_i=v[1].second;
    max_i=v[1].second;
    u_i=v[1].second;
    bool ok=true;
    for (i=1;i<=n;i++){
        if (v[i].first!=v[i-1].first){
            if (v[i].second<min_i) min_i=v[i].second;
            if (v[i].second>max_i) max_i=v[i].second;
                if (v[i].second>u_i)u_i=v[i].second;
        }else {
        ok=false;
        break;}
    }
    if (!ok)
        fout<<-1<<'\n';
    else
        fout<<(max_i-min_i+1);
    return 0;
}