Pagini recente » Cod sursa (job #1332833) | Cod sursa (job #107005) | Cod sursa (job #1229573) | Cod sursa (job #1557106) | Cod sursa (job #711754)
Cod sursa(job #711754)
#include <fstream>
using namespace std;
int v[100005], p[100005], q[100005];
int i, j, n, m, mx, pm, x;
ifstream f("scmax.in"); ofstream g("scmax.out");
void afisare (int fx, int fp){
while (p[fp]!=fx) fp--;
if (fx>1) afisare (fx-1, fp-1);
g << v[fp]<<" ";
}
int main() {
f >> n;
for (i=1; i<=n; i++){
f>>v[i];
x=v[i];
j=1;
while (x>q[j] && j<=mx) j++;
q[j]=x;
p[i]=j;
if (j>mx) { mx=j; pm=i; }
}
g << mx <<"\n";
afisare (mx, n);
}