Algoritmul, pas cu pas
A număra direct toate perechile ar însemna — prea mult pentru până la un milion. Trucul e să fixăm capătul drept și să numărăm dintr-o singură mișcare câte capete stânga formează o subsecvență validă cu acel .
Întrebarea cheie: pornind de la și mergând spre stânga, până unde putem alege astfel încât subsecvența să conțină toate cele valori cerute? Răspunsul depinde de unde a apărut ultima dată fiecare valoare cerută.