Pagini recente » Cod sursa (job #3193224) | Cod sursa (job #2182276) | monthly-2012/runda-4/solutii | Cod sursa (job #1858500) | Cod sursa (job #1781834)
#include <fstream>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int n,i,j,a[100002], poz2,poz1,Max,l[10001],M,p;
int main()
{
f>>n;
Max=0;
for(i=1; i<=n; i++)
f>>a[i];
l[n]=1;
M=0;
for(i=n; i>=1; i--)
{
Max=0;
for(j=i+1; j<=n; j++)
if(a[i]<a[j]&&l[j]>Max)
{
Max=l[j];
l[i]=Max+1;
}
if(l[i]>M)
{
M=l[i];
p=i;
}
}
g<<M<<'\n';
g<<a[p]<<" ";
M--;
for(i=p+1; i<=n; i++)
if(a[i]>a[p]&&l[i]==M)
{
g<<a[i]<<" ";
p=i;
M--;
}
return 0;
}