Pagini recente » Cod sursa (job #1625576) | Cod sursa (job #1262512) | Cod sursa (job #405369) | Cod sursa (job #3197159) | Cod sursa (job #628585)
Cod sursa(job #628585)
// gilrs8.cpp : Defines the entry point for the console application.
//
#include <iostream>
#include <fstream>
using namespace std;
int n,v[100000],d[100000],vv[100000], ind=0;
ifstream f;
ofstream g;
int findmax(int k) {
int maxd=0;
for(int i=0;i<k;i++)
if ((maxd<d[i])&&(v[i]<v[k]))
maxd=d[i];
return maxd;
}
int sir(int k) {
int i;
int maxd=0,maxdi=0;
if (k!=0) {
for (i=k-1;i>=0;i--)
if ((d[i]==d[k]-1)&&(v[i]<v[k])) {
maxd=d[i];
maxdi=i;
}
vv[ind]=v[maxdi];
if (maxd==0)
return 0;
else { ind++;
int aux=v[sir(maxdi)];
}
}
else return 0;
}
int main() {
f.open("scmax.in");
g.open("scmax.out");
int i,j,max=0,maxi=0;
f>>n;
for (i=0;i<n;i++)
f>>v[i];
d[0]=1;
for (i=1;i<n;i++) {
d[i]=findmax(i)+1;
if (max<d[i]) {
max=d[i];
maxi=i;
}
}
int aux=sir(maxi);
g<<ind<<endl;
for (i=ind-1;i>=0;i--)
g<<vv[i]<<" ";
f.close();
g.close();
return 0;
}