Cod sursa(job #1528613)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 19 noiembrie 2015 21:13:29
Problema Secv Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <iostream>
#include <set>
using namespace std;

int n, m, i, j, c, k = 10001;
set <int> s;
int v[5000];
int srt[5000];

int f(int x);

int main() {
	ifstream in("secv.in");
	in >> n;
	for (i = 0; i < n; i++) {
		in >> v[i];
		s.insert(v[i]);
	}
	c = 0;
	for (auto q : s) {
		srt[c++] = q;
	}
	for (i = 0; i < n; i++) {
		if (v[i] == srt[0]) {
			m = f(i);
			if (m < k)
				k = m;
		}
	}
	ofstream out("secv.out");
	if (k == 10001)
		out << "-1";
	else
		out << k;
	in.close();
	out.close();
	return 0;
}

int f(int x) {
	int z;
	for (z = x, j = 0; j < c; z++) {
		if (z == n)
			return 10000;
		if (v[z] == srt[j])
			j++;
	}
	return z - x;
}