Cod sursa(job #1571140)

Utilizator elizac2003Constantinescu Eiza elizac2003 Data 17 ianuarie 2016 12:10:56
Problema Secv Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<cstdio>
using namespace std;
const int NMAX=5005;
int v[NMAX+5],s[NMAX+5],c[NMAX+5];
int main()
{
FILE *fin, *fout;
fin=fopen("secv.in","r");
fout=fopen("secv.out","w");
int i,j,n,m,r,k=0,t=0;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
    {fscanf(fin,"%d",&v[i]);
    s[i]=v[i];}
t=1;
while(t>0)
{t=0;
for(i=2;i<=n;i++)
if(s[i]<s[i-1])
{k=s[i-1];
s[i-1]=s[i];
s[i]=k;
t=1;}
}
c[1]=s[1];
j=1;
for(i=2;i<=n;i++)
{if(s[i]!=s[i-1])
{j++;
c[j]=s[i];}}
m=j;
i=1;
t=0;
r=0;
j=1;

while(j<=m)
{while(i<=n)
           {if(v[i]==c[j])
            {k=i;
            i=n;
            t++;
            }
            i++;}
 if(t==j)
   {i=k+1;
   if(j==1)
    r=k;
    if(j==m)
    r=k-r+1;
    }
  else
    j=n;
 j++;}

if(t!=m)
   r=-1;

fprintf(fout,"%d",r);
return 0;
}