Pagini recente » Cod sursa (job #2821892) | Cod sursa (job #2093526) | Cod sursa (job #2130683) | Cod sursa (job #633235) | Cod sursa (job #2428863)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int main(){
int v[100], y[100] = {}, z[100], n, i = 1, j, nr = 0, aux = 0, maxim = 0, var, aux2 = 0, numar = 1;
in>>n;
for(i = 1; i <= n; i++)
z[i] = -1;
for(i = 1; i <= n; i++)
in>>v[i];
for(i = n; i >= 1; i--){
for(j = i; j <= n; j++){
if(v[i] < v[j]){
if(aux2 == 0){
nr = y[j] + 1;
y[i] = nr;
z[i] = j;
aux = 1;
aux2 = 1;
var = nr;
}
if(var <= y[j]){
nr = y[j] + 1;
y[i] = nr;
z[i] = j;
maxim = nr;
j = n + 1;
}
}
if(maxim < nr)
maxim = nr;
}
if(aux == 0){
y[i] = 1;
}
aux = 0;
nr = 0;
aux2 = 0;
}
out<<maxim<<endl;
while(y[i] != maxim){
i++;
}
out<<v[i]<<" ";
j = i;
while(numar < maxim){
out<<v[z[j]]<<" ";
j = z[j];
numar++;
}
}