Pagini recente » Cod sursa (job #2556091) | Cod sursa (job #1082237) | Cod sursa (job #3233806) | Borderou de evaluare (job #2116714) | Cod sursa (job #439145)
Cod sursa(job #439145)
#include<fstream.h>
ifstream in("scmax.in");
ofstream out ("scmax.out");
int n,m,a[1000],b[1000],c[1000],t;
void cauta (int k)
{
int j,gasit,max;
gasit=0;
j=k-1;
max=0;
while(j>=1)
{if(a[k]>a[j]) {gasit=1;
if(b[j]+1>max)
{b[k]=b[j]+1;c[k]=j;max=b[j]+1; }
}
j--;
}
if(max>m) {m=max;t=k;}
if(gasit==0) {b[k]=1;
c[k]=0;
}
}
void scrie(int k)
{if(c[k]!=0) {scrie(c[k]);
out<<a[k]<<" ";
}
else out<<a[k]<<" ";
}
int main()
{
int i;
in>>n;
for(i=1;i<=n;i++)
in>>a[i];
b[1]=1;
c[1]=0;
m=0;
t=1;
for(i=1;i<=n;i++)
{cauta(i);
}
scrie(t);
in.close();
out.close();
return 0;
}