Pagini recente » Cod sursa (job #2839496) | Cod sursa (job #2028250) | Cod sursa (job #1214195) | Cod sursa (job #1457909) | Cod sursa (job #887213)
Cod sursa(job #887213)
#include<fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int i,nr,n,x,a[10005];
int cautbin(int st,int dr,int x)
{
int m=(st+dr)/2;
if (st==dr && x<=a[st]) return st;
if (st==dr && x>a[st]) return ++nr;
if (a[m]<x) cautbin(m+1,dr,x);
else if (a[m]>x) cautbin(st,m,x);
}
int main()
{
in>>n>>a[++nr];
for (i=2;i<=n;i++)
{
in>>x;
a[cautbin(1,nr,x)]=x;
}
out<<nr<<'\n';
for (i=1;i<=nr;i++)
out<<a[i]<<' ';
}