Pagini recente » Statistici Dumitru Felicia-Cristina (felicia_dumitru) | Cod sursa (job #1589098) | Rating Gemene Adrian (ady99) | Cod sursa (job #2338846) | Cod sursa (job #1183232)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
const int N=100000;
int v[N+1], t[N+1], s[N+1],n;
void lant(int k){
if(t[k]!=0)
lant(t[k]);
g<<v[k]<<" ";
}
int main()
{
int i,max,j,k,max1=0,p;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
s[n]=1;
for(i = 1; i <= n; i++)
{
max = 0;
for(j = 1; j < i; j++)
if(v[j] < v[i])
{
if(s[j] > max)
{
max = s[j];
t[i] = j;
}
}
max++;
s[i] = max;
}
p = 1;
for(i = 1; i <= n; i++)
if(s[i] > s[p])
p = i;
g << s[p] << "\n";
lant(p);
/*
for(i=n-1;i>=1;i--){
max=0;
t[n]=0;
for(j=i+1;j<=n;j++)
if(v[i]<v[j] &&s[j]>max){
max=s[j];
k=j;
}
s[i]=max+1;
t[i]=k;
if(s[i]>max1){
max1=s[i];
p=i;
}
}
g<<max1<<"\n";
lant(p);
*/
return 0;
}