Pagini recente » Cod sursa (job #2315107) | Cod sursa (job #710403) | Cod sursa (job #48647) | Cod sursa (job #569026) | Cod sursa (job #2442516)
#include <iostream>
#include <fstream>
#include <set>
std::ifstream f("secv.in");
std::ofstream g("secv.out");
const int NMAX = 5'005;
int v[NMAX],n,k,w[NMAX],dp[NMAX],sol;
int main(){
f >> n;
for(int i = 0;i < n;i++){
f >> v[i];
w[i] = v[i];
}
std::sort(w + 1,w + n + 1);
for(int i = 1;i <= n;i++)
if(w[i] != w[i - 1])
dp[k++] = w[i];
k--;
sol = n + 1;
for(int i = 1;i <= n - k + 1;i++){
int pos = 1;
for(int j = i;j <= n;j++){
if(dp[pos] == v[j])
pos++;
if(pos > k){
sol = std::min(sol,j - i + 1);
break;
}
}
}
g << sol;
f.close();
g.close();
return 0;
}