Pagini recente » Cod sursa (job #3123433) | Cod sursa (job #1189068) | Cod sursa (job #1049090) | Cod sursa (job #1276711) | Cod sursa (job #628520)
Cod sursa(job #628520)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int b[10000],a[10000];
int n;
void write(int poz)
{
if (poz==0)
return;
for (int i=0; i<poz; i++)
if(a[i]<a[poz] && b[i]==b[poz]-1)
{
write(i);
g<<a[poz]<<" ";
return;
}
}
int main()
{
f>>n;
int j,i,max=0,poz=0;
for ( i=1; i<=n; i++)
{
f>>a[i];
}
for (i=1; i<=n; i++)
{
b[i]=1;
for (j=1; j<i; j++)
if (a[j]<a[i] && b[j]+1>b[i])
b[i]=b[j]+1;
}
for (i=1; i<=n; i++)
if (b[i]>max)
{
max=b[i];
poz=i;
}
g<<max<<"\n";
write(poz);
return 0;
}