Pagini recente » Cod sursa (job #616058) | Profil StarGold2 | Istoria paginii runda/cex_ph_3/clasament | Cod sursa (job #1737488) | Cod sursa (job #622333)
Cod sursa(job #622333)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int V[100003],X[100003],T[100003];
int N,u,p,mid,i,s;
void afisare(int poz)
{
if(poz){
afisare(T[poz]);
g<<V[poz]<<" ";
}
}
int main ()
{
f>>N;
for( i=1 ; i<=N ; i++ )
f>>V[i];
X[1]=1; s=1;
for( i=2 ; i<=N ; i++ )
{
p=1;u=s;
while (p <= u)
{
mid = (u - p) / 2 + p;
if (V[i] > V[X[mid]])
p = mid + 1;
else
u = mid - 1;
}
if (p > s)
s++;
X[p] = i;
T[i] = X[p-1];
}
g<<s<<"\n";
afisare(X[s]);
return 0;
}