Pagini recente » Cod sursa (job #2358397) | Cod sursa (job #1989319) | Cod sursa (job #64492) | Cod sursa (job #874762) | Cod sursa (job #2173133)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100001],n,i, w[100001],m;
int completarew(int x){
int maxw=-1;
for(int j=x;j<=n;j++)
if(v[x]<v[j]&&w[j]>maxw)maxw=w[j];
if(maxw+1>m)m=maxw+1;
return maxw+1;
}
void afisare(){
int j=1;
while(m>=0){
while(w[j]!=m)j++;
g<<v[j]<<" ";
m--;
}
}
int main()
{f>>n;
for(i=1;i<=n;i++) f>>v[i];
for(i=n;i>=1;i--)
w[i]=completarew(i);
g<<m+1<<"\n";
afisare();
return 0;
}