Cod sursa(job #1669778)

Utilizator MihneaGhiraMihnea MihneaGhira Data 31 martie 2016 00:42:04
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,i,dr,st,j,t;
int v[5001],w[5001];
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
        w[i]=v[i];
    }
    w[0]=2000000000;
    sort(w+1,w+n+1);
    for(i=1;i<=n;i++){
        if(w[i]!=w[i-1])
            t++;
    }
    for(i=1;i<=t;i++)
        w[i]=i;
    j=1;
    for(i=1;i<=n;i++){
        if(v[i]==w[j]){
            if(j==1)
                st=i;
            if(j==t){
                dr=i;
                break;
            }
            j++;
        }
    }
    if(j!=t)
        fout<<-1;
    else
        fout<<dr-st+1;
    return 0;
}