Pagini recente » Cod sursa (job #1052590) | Cod sursa (job #2887866) | Cod sursa (job #1983914) | Cod sursa (job #608965) | Cod sursa (job #1173399)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
const int nmax=100006;
int n, m, a[nmax], b[nmax], r[10*nmax], d[nmax], rasp = 100000000, aux[nmax];
int main(){
int player_unu=0;
in>>n;
for(int i = 1; i<=n; i++)
{
in>>a[i];
aux[i] = a[i];
}
sort(aux+1, aux+1+n);
for(int i = 1; i<=n; i++)
{
if(aux[i]!=aux[i-1])
{
m++;
b[m] = aux[i];
}
}
for(int i = 1; i<=m; i++)
{
r[b[i]] = i;
}
for(int i = 1; i<=n; i++)
{
if(r[a[i]]!=0)
{
if(r[a[i]]==1)
d[1] = i;
else
{
if(d[r[a[i]]-1]!=0)
d[r[a[i]]] = d[r[a[i]]-1];
}
if(d[m]!=0 && rasp>i-d[m]+1)
rasp = i - d[m]+1;
}
}
if(rasp==100000000)
{
out<<-1<<'\n';
return player_unu;
}
out<<rasp<<'\n';
return player_unu;
}