Cod sursa(job #1706396)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 22 mai 2016 14:53:03
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#include <algorithm>

using namespace std;


int v[5005],sub[5005]={},N,startpos=-1,endpos=-1,l=1;
int main()
{
	freopen("secv.in","r",stdin);
	freopen("secv.out","w",stdout);

	scanf("%d",&N);
	scanf("%d",&v[1]);
	sub[1]=v[1];
	for(int i=2;i<=N;i++)
	{
		int j;
		scanf("%d",&v[i]);
		for(j=1;j<=l;j++)
		{
			if(v[i]==sub[j])
				break;
		}
		if(j==l+1)
		{
			sub[j]=v[i];
			l++;
		}
	}
	sub[0]=l;
	sort(sub+1,sub+sub[0]+1);
	int x=sub[0];
	for(int i=N;i>0;i--)
	{
		if(x==0)
			break;
		if(sub[x]==v[i])
		{
			if(x==1)
				startpos=i;
			if(x==sub[0])
				endpos=i;
			x--;
		}
	}
	if(startpos==-1)
	{
		printf("-1");
	}
	else printf("%d",endpos-startpos+1);
	return 0;
}