Pagini recente » Cod sursa (job #2481475) | Cod sursa (job #383745) | Cod sursa (job #2030558) | Cod sursa (job #2615549) | Cod sursa (job #463792)
Cod sursa(job #463792)
#include<fstream>
#define max_n 5010
using namespace std;
int a[max_n],b[max_n],h[max_n];
int cmp(int i, int j)
{
return a[i]<a[j];
}
int main()
{
int i,j,nr=0,n,end,unsub;
ifstream read ("secv.in");
ofstream write ("secv.out");
read>>n;
for(i=1;i<=n;++i)
{
read>>a[i];
h[i]=i;
}
sort(h+1,h+n+1,cmp);
i=1;
while(i<=n)
{
++nr;
j=i;
while(a[h[i]]==a[h[i+1]])
++i;
for(int t=j;t<=i;++t)
b[h[t]]=nr;
++i;
}
i=n;
unsub=nr;
while(i&&unsub)
{
if(b[i]==unsub)
{
if(unsub==nr)
end=i;
--unsub;
}
--i;
}
if(!i)
write<<"-1\n";
else
write<<end-i<<'\n';
return 0;
}