Pagini recente » Cod sursa (job #1438425) | Cod sursa (job #234415) | Cod sursa (job #136226) | Cod sursa (job #619152) | Cod sursa (job #167261)
Cod sursa(job #167261)
#include<fstream.h>
#define dim1 2000000001
#define dim2 5001
ifstream f("secv.in");
ofstream g("secv.out");
char a[dim1];
struct vect
{int s;//sir
int p;//parinte
};
vect v[dim2];
int n,maxim,man[dim2];
int main()
{
int i,j,max,parinte;
f>>n;
for(i=1;i<=n;i++)
{f>>man[i];
if(!a[man[i]]) {a[man[i]]=1;maxim++;}
}
f.close();
for(i=1;i<=n;i++)
{max=0;
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;
if(v[parinte].p) v[i].p=v[parinte].p;
else v[i].p=parinte;
if(v[i].s==maxim)
{g<<(i-v[i].p)+1<<'\n';
break;
}
}
g.close();
return 0;
}