Pagini recente » Cod sursa (job #882466) | Cod sursa (job #3229552) | Cod sursa (job #2497512) | Cod sursa (job #39396) | Cod sursa (job #1459128)
#include <fstream>
#include <algorithm>
#include <vector>
#define NMAX 5001
using namespace std;
vector <int> s, sortedS, el;
int main()
{
int n;
int i, j, k;
int bestSize;
ifstream f("secv.in");
f >> n;
s.resize(n);
for(i = 0; i < n; i++)
f >> s[i];
f.close();
bestSize = n + 1;
sortedS = s;
sort(sortedS.begin(), sortedS.end());
el.resize(n);
vector <int>:: iterator it = unique_copy(sortedS.begin(), sortedS.end(), el.begin());
el.erase(it, el.end());
for(i = 0; i < n; i++)
if(s[i] == el[0])
{
j = i + 1;
k = 1;
while(j < n && k < el.size())
{
if(s[j] == el[k])
k++;
j++;
}
if(k >= el.size())
bestSize = min(bestSize, j - i);
}
if(bestSize > n)
bestSize = -1;
ofstream g("secv.out");
g << bestSize << '\n';
g.close();
return 0;
}