Pagini recente » Cod sursa (job #342139) | Cod sursa (job #678888) | Cod sursa (job #38663) | Cod sursa (job #2431259) | Cod sursa (job #637683)
Cod sursa(job #637683)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,a[100002],l[100002],lm,s,d;
void citire(int &n, int a[]){
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
}
void rez(int n){
int max;
l[n]=1;
lm=1;
for(int i=n-1;i>=1;i--){
max=0;
for(int j=i+1;j<=n;j++)
if(l[j]>max&&(a[i]<a[j]))
max=l[j];
l[i]=max+1;
if(l[i]>lm)
lm=l[i];
}
}
void afisare(int n){
s=d=1;
while(lm!=0){
while(l[d]!=lm)d++;
g<<a[d]<<" ";
lm--;
s=d;
}
}
int main(){
citire(n,a);
rez(n);
g<<lm<<endl;
afisare(n);
return 0;
}