Cod sursa(job #1087412)
Utilizator | Data | 19 ianuarie 2014 13:19:31 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
using namespace std;
int n,v[100000],p[100000];
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
int i,j,max=0,a;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
p[n]=1;
for(i=n-1;i>=1;i--)
{
for(j=i+1;j<=n;j++)
if(v[i]<v[j]&& p[i]<p[j])
p[i]=p[j];
p[i]++;
if(p[i]>max)
{
max=p[i];
a=i;
}
}
g<<max;
g<<endl;
g<<v[a]<<" ";
max--;
while(max)
{
while(p[a]!=max)
a++;
g<<v[a]<<" ";
max--;
}
return 0;
}