Cod sursa(job #974032)
Utilizator | Alexa Tudose Alexa2001 | Data | 16 iulie 2013 12:45:40 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,Max,a[100003],lung[100003],n,j,Maxx;
int main()
{ f>>n;
for(i=1;i<=n;++i) f>>a[i];
lung[n]=1;
for(i=n-1;i>=1;--i)
{ Max=0;
for(j=i+1;j<=n;++j) if(a[i]<a[j] && Max<lung[j])
{Max=lung[j];}
lung[i]=Max+1;if(lung[i]>Maxx) Maxx=lung[i];
}
g<<Maxx<<'\n';
for(i=1;Maxx>0;++i)
if(lung[i]==Maxx)
{g<<a[i]<<" ";--Maxx;}
g<<'\n';
return 0;
}