Pagini recente » Cod sursa (job #2626411) | Cod sursa (job #1635267) | Cod sursa (job #1450038) | Cod sursa (job #3234259) | Cod sursa (job #429615)
Cod sursa(job #429615)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100001],n;
int caut(int x, int y)
{
int i,pas=1<<16;
for(i=0;pas;pas>>=1)
if(i+pas<=y&&v[i+pas]<x)
i+=pas;
if(v[i+1]<x)
return -1;
return i+1;
}
int main()
{
int i=1,x,y;
f>>n>>v[1];
while(f>>x)
{
y=caut(x,i);
if(y<0)
v[++i]=x;
else
v[y]=x;
}
g<<i<<"\n";
for(y=1;y<=i;y++)
g<<v[y]<<" ";
return 0;
}