Cod sursa(job #429615)

Utilizator soare_cristian16Cristy93 soare_cristian16 Data 30 martie 2010 12:19:23
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#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;
}