Pagini recente » Cod sursa (job #2816360) | Cod sursa (job #2030387) | Cod sursa (job #415730) | Cod sursa (job #2486875) | Cod sursa (job #579715)
Cod sursa(job #579715)
#include <fstream>
using namespace std;
int v[100001],poz[100001],r[100001],size[100001];
int main() {
FILE *f;
f=fopen("scmax.in","r");
ofstream g("scmax.out");
int i,n,j,mx,pozmx,m,M;
M=0;
fscanf(f, "%d", &n);
for (i=1; i<=n; i++)
fscanf(f, "%d", &v[i]);
for (i=2; i<=n; i++) {
mx=0;
pozmx=0;
for (j=i-1; j>=1; j--)
if (v[j]>mx&&v[j]<v[i]) {
mx=v[j];
pozmx=j;
}
poz[i]=pozmx;
size[i]=size[pozmx]+1;
if (size[i]>M) {
M=size[i];
m=i;
}
}
j=M;
g<<M<<'\n';
for (i=0; i<=M; i++) {
r[i+1]=v[m];
j=poz[j];
}
for (i=1; i<=m; i++)
g<<r[i]<<' ';
g.close();
return 0; }