Pagini recente » Cod sursa (job #1680745) | Cod sursa (job #1136431) | Cod sursa (job #520468) | Cod sursa (job #1561636) | Cod sursa (job #299698)
Cod sursa(job #299698)
#include<cstdio>
using namespace std;
int a[100010],best[100010],d[100010],maxim,t=0;
int max(int k, int l)
{
if (k>l) return k;
return l;
}
int main()
{
int n,i,j;
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
fscanf(f,"%d ",&n);
for (i=0;i<n;i++)
fscanf(f,"%d ",&a[i]);
best[0]=1;
for (i=1;i<n;i++)
{
for (j=0;j<i;j++)
if (a[i]>a[j])
{
best[i]=max(best[i],best[j]+1);
}
else if (best[i]==0) best[i]=1;
if(best[i]>maxim)
{
d[maxim]=a[i];
maxim++;
}
}
fprintf(g,"%d ",maxim);
fprintf(g,"\n");
for (i=0;i<maxim;i++)
fprintf(g,"%d ",d[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}