Pagini recente » Cod sursa (job #324688) | Cod sursa (job #2667867) | Cod sursa (job #724754) | Cod sursa (job #725732) | Cod sursa (job #548150)
Cod sursa(job #548150)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define x first
#define y second
#define DN 5005
using namespace std;
typedef pair<int, int> PER;
PER s[DN];
int n,v[DN],p[DN];
int main()
{
ifstream f("secv.in");
ofstream g("secv.out");
f>>n;
for(int i=1; i<=n; ++i) {
f>>s[i].x;
s[i].y=i;
}
sort(s+1,s+n+1);
v[s[1].y]=1;
int val=1;
for(int i=2; i<=n; ++i) {
if(s[i].x!=s[i-1].x) ++val;
v[s[i].y]=val;
}
int lg=9999;
for (int i=1;i<=n;i++) {
if (v[i]==1) p[v[i]]=i;
else p[v[i]]=p[v[i]-1];
if (v[i]==val) {
if (p[v[i]]!=0 && lg>=i-p[v[i]]+1) lg=i-p[v[i]]+1;
}
}
if(lg!=9999) g<<lg;
else g<<"-1";
return 0;
}