Pagini recente » Cod sursa (job #776500) | Cod sursa (job #484538) | Cod sursa (job #2861863) | Cod sursa (job #273906) | Cod sursa (job #167280)
Cod sursa(job #167280)
#include<fstream.h>
#define dim2 5001
ifstream f("secv.in");
ofstream g("secv.out");
struct vect
{int s;
unsigned long p;
};
vect v[dim2];
int n,maxim;
unsigned long man[dim2];
int main()
{
int i,j,max,parinte,ok;
f>>n;
for(i=1;i<=n;i++)
{f>>man[i];
ok=1;
for(j=i-1;j>=1;j--)
if(man[j]==man[i]) {ok=0;break;}
maxim+=ok;
}
f.close();
ok=0;
for(i=1;i<=n;i++)
{max=0;
parinte=i;
for(j=(i-1);j>=1;j--)
if(man[j]<man[i])
{if(v[j].s>max)
{max=v[j].s;
parinte=j;
}
}
v[i].s=max+1;
v[i].p=parinte;
if(v[i].s==maxim)
{j=i;
while(v[j].p!=j)
j=v[j].p;
g<<(i-j)+1<<'\n';
ok=1;
break;
}
}
if(!ok) g<<-1<<'\n';
g.close();
return 0;
}