Pagini recente » Cod sursa (job #708854) | Cod sursa (job #1013830) | Cod sursa (job #2613088) | Cod sursa (job #1427727) | Cod sursa (job #1941501)
#include <stdio.h>
using namespace std;
FILE*f=fopen("scmax.in","r");
FILE*g=fopen("scmax.out","w");
int v[100010],p[100010];
struct pct{
int p,x;
}a[100010];
int cmp(pct a,pct b){
return a.x<b.x;
}
int main()
{
int n,i;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) {fscanf(f,"%d",&v[i]);a[i].x=v[i];a[i].p=i;}
sort(a+1,a+n+1,cmp);
for (i=1;i<=n;i++) p[a[i].p]=i;
l[n]=1;mx=n;
for (i=n-1;i>=1;i--){
nx[i]=cauta(p[i]+1,n,a[p[i]].x);
l[i]=l[nx[i]]+1;
if (l[i]>l[mx]) mx=i;
}
i=mx;
while (nx[i]!=n+1){
}
fclose(f);
fclose(g);
return 0;
}