Răspuns :
Răspuns:
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("gogosi.in");
ofstream fout("gogosi.out");
int main()
{
long long n, x, y, v[1000001], nr, mij, st, dr, poz, i;
fin>>n; nr=0;
fin>>x; v[++nr]=x;
for(i=2; i<=n; i++)
{
fin>>y;
if(v[nr]>y)
{
v[++nr]=y;
}
else{
st=1;
dr=n;
poz=0;
while(st<=dr)
{
mij=(st+dr)/2;
if(v[mij]<=y)
{
poz=mij;
dr=mij-1;
}
else
st=mij+1;
}
if(poz!=0)
v[poz]=y;
}
}
fout<<nr;
}
Explicație:
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!