Rulează algoritmii pas cu pas. Încearcă cu propriile date.
Animații create specific pentru problemele din arhivă. Fiecare vizualizează algoritmul exact al acelei probleme.
Suma distanțelor de la un nod și economia maximă cu k operații (greedy pe muchii după cnt_e(v)): rerootare + segment tree pentru sume de top-k.
Transformarea lui T în S prin ștergeri și sortări de intervale continue: DP cu poziție minimă consumată și blocuri de sortare pentru șiruri ascendente.
Subsecvențe distincte ale lui B vs subșiruri în A: cele trei cerințe (apartenență, numărare pentru un șablon, sumă peste subsecvențe) cu DP de numărare și automat de sufixe.
Matricea spirală e determinată complet de mulțimea de cifre din centru; parcurgere din centru + numărarea celulelor de înlocuit pentru cel mai bun centru.
Construirea de piramide cu rânduri de 1, 2, 4, ... bomboane (numere Mersenne 2^H − 1): minim de piramide pentru cerința 1 (amestecat) și cerința 2 (serioase).
Căutare binară pe lungimea maximă L + greedy de înțepare a ferestrelor [mijloc−L, mijloc] + construcție lexicografic minimă prin prefixe minimale.
Colorare tip tablă de șah și diferența cumulată negru−alb pe coloane: decide dacă tabla 2×N cu celule blocate poate fi pavată complet cu piese de domino.
Caută cel mai mic divizor d > 1 al lui N și împarte bomboanele în N/d grupuri egale a câte d.
Reface scorul unui meci gol cu gol pe o cronologie: numără egalările și aprinde revenirea în forță când o echipă condusă preia conducerea.
Detectează numerele speciale dintr-un șir numărând cifrele de 1 și 3 și verificând că ambele apar de un număr par de ori, cu cel puțin o cifră impară prezentă.
Grupează piesele secvențial, alipind o piesă de ultimul grup când au cel puțin 3 cifre comune (cu multiplicitate), și numără grupurile formate.
Doi arcași fac naveta peste ținte și trag la intervale p și q; simulăm secundă cu secundă până sunt lovite toate țintele.
Glisează o fereastră de 3 elemente peste șir, calculează cmmdc-ul fiecărui triplet și numărul lui de divizori, marcând tripletele bune și cel mai lung șir de triplete bune consecutive.
Numără perechile oglindite dintr-un șir folosind vectorul de frecvențe: oglindește cifrele, verifică reversibilitatea oglindirii și adună freq[u]·freq[v].
Codifică cifrele prin împerechere (pară +1, impară −1), elimină zerourile din față și află care numere cresc, cu minimul și maximul dintre ele.
Parcurge secvența cu un pointer și detectează tripletele esm, unde ultimul element e produsul a două elemente anterioare.
Săgețile dintr-o grilă de cafenele sunt o funcție pe celule; concentrația maximă din ziua 2 e gradul de intrare maxim — câte săgeți converg în aceeași cafenea.
Mașinile ies din parcare doar de la extremele liniei sau coloanei, în valuri succesive care se deblochează în cascadă.
Riglă fermecată: numără pătratele de prime acoperite de fiecare creangă (puterea) și unește crengile care se ating sau se suprapun în baghete.
Maximizează expresia concentrând cifrele într-un singur termen lung pozitiv (încercând fiecare poziție de start) și scăzând cele mai mici cifre rămase.
Vârfurile varsă culori pure care curg în jos și se reunesc în mulțimi; urmărește unde converg cele mai multe culori (amestecul maxim).
O secv9 e o subsecvență cu suma divizibilă cu 9; o găsim grupând prefixele după restul modulo 9 — două prefixe cu același rest închid un bloc divizibil cu 9.
Normalizează codurile pe litere sortate, grupează țările, identifică gazda cu majoritate și construiește așezarea minimă lexicografic la masa rotundă.
O tură completă a echipei avansează jetonul cu suma deplasărilor; sărim cele q = (L-1)/S ture dintr-o dată, apoi tura parțială de la offset închide runda — fără simulare.
Păstrezi un singur factor prim per poziție și urmărești cel mai lung lanț de poziții consecutive ale căror prime păstrate sunt prime consecutive crescătoare (2, 3, 5, ...).
Transformarea +1/−1 pentru o valoare și căutarea unei ferestre de lungime cel puțin K unde suma prefix urcă, deci valoarea e majoritară.
Răspunde la interogări despre poziții în șirul sortat al tuturor divizorilor (D) fără a-l construi: frecvențe prin ciur de divizori, sume parțiale și căutare binară.
Privirea fiecărei santinele se oprește înainte de primul vârf strict mai înalt din raza K, dând un interval [L, R]; apoi o acoperire greedy află numărul minim de santinele.
Tabla de șah devine matrice cu semne (+v alb, −v negru), iar scorul maxim se află ca suma maximă a unei submatrice cu Kadane 2D.
Reordonează operațiile în adunări, înmulțiri, apoi ridicări la putere (argument de schimb) și calculează puterea maximă finală.
Valoarea celulei = contribuția liniei + contribuția coloanei; suma pe reuniunea dreptunghiurilor se desparte în contribuția liniilor și a coloanelor, prin baleiere pe benzi.
Comprimarea recursivă tip quadtree a unei matrice: testezi dacă sumele liniilor sortate formează o progresie aritmetică cu rație nenulă, altfel spargi în patru cadrane.
Flood fill pe fiecare insulă de uscat, numărarea comorilor și produsul deranjamentelor D(t) modulo 1e9+7.
Împarte cele n probleme în f faze echilibrate și caută numărul de faze care minimizează costul total de notare.
Baleiază anti-diagonalele grilei și arată segmentul continuu pe fiecare, reconstruind drumul de valoare maximă din (1,1) în (N,N).
Două nestemate se transformă una în alta dacă au o valoare comună; un graf bipartit nestemată-valoare și un BFS din A dau numărul minim de transformări până la B.
Propagă termenul efectiv în jos pe piramida de bombe, apoi sortează valorile G și află întârzierea maximă de start X = min(G_sortat[k] − k) cu verificarea EDF.
O coloană e o compunere ordonată a lui N în piese (roșu = impar, galben = par); polinomul P(x) al unei coloane, ridicat la puterea M, dă numărul de ziduri prin coeficientul lui x^K.
Scanare semnal binar 0/1: identifică blocuri de 1-uri cu cel puțin 2 zerouri gardă pe fiecare parte.
Vizualizează decodificarea punctajelor din numărul concatenat și calculul clasamentului per echipă.
Animează cele trei cerințe pe aceleași bare: maxim de sufix, pozițiile-record și umplerea văii dintre vârfurile maxime.
Stegulețe cu model de șah: calcul pătrățele albe și negre pe baza numărului mașinii.
Fereastră glisantă: cea mai lungă subsecvență fără valori interzise
BFS din ambele colțuri: vizualizează distanțele și zidul critic.
Verificare numere puternice prin factorizare: fiecare factor prim apare la putere ≥ 2.
Simulare campionat fotbal: locul I la egalitate și câștigători siguri.
Vizualizează alocarea greedy a barelor metalice pentru a obține bare de lungimi 1, 2, 4, 8.
Pătrat uniform colorat de latură maximă cu sume parțiale 2D
Concatenare și palindroame: numără palindromele obținute prin concatenare
Sisteme de supraveghere în grilă: maximizează pomii protejați pe o linie dată.
Greedy cu bitmask: imparte zilele in numar maxim de pachete cu toate tipurile de cafea.
Verifică dacă o matrice binară poate deveni tablă de șah prin interschimbări de linii/coloane și numără operațiile minime.
Suma distanțelor perechi de subsecvențe: contribuția fiecărei perechi de poziții (i,j).
Simularea traseului lui Tommy prin tuneluri interconectate: tunelul de ieșire și drumul minim spre recompensă.
Detectarea mutatiilor: coduri care difera in exact o pozitie fata de virusul pandemic.
Vizualizează extragerea cifrelor distincte și construirea numărului maxim și minim.
Vizualizează umplerea butoaielor cu cifre și calculul valorii finale.
Grila N×M cu cifrele Fibonacci în parcurgere boustrophedon.
Numără vecini la distanță 1 cifră: animație pas cu pas pe fiecare poziție.
Construcție spirală de pătrate: fiecare pas adaugă un bloc în direcțiile DREAPTA, JOS, STÂNGA, SUS.
Evaluare bottom-up a unui circuit logic piramidal cu operatori AND/OR.
Tăierea unui tort circular în K felii egale: vizualizează distribuția ingredientelor.
Segmentarea recursivă a unui dreptunghi după un cod H/V/*: parsare în arbore binar și numerotarea subdiviziunilor.
Greedy constructiv: alege lexicografic cel mai mic set de K bile cu suma K² pentru a face bila K bila specială a cutiei B.
N-secvențe: subsecvențe cu suma divizibilă cu N — grupare după restul sumelor parțiale modulo N.
Evaluarea valorii unui text special din forma sa restrânsă cu paranteze și repetări — parsare cu stivă.
Numără cvintetele valide: enumerare triplete (a,b,c) cu a·b·c=D prin factorizare, apoi perechi (x,y) cu relație pitagoreică ponderată.
Trie prefix-liber: numără moduri de a plasa M cuvinte fără relații de prefix cu N cuvinte date.
Propagare inversă: determină sursele posibile ale infecției prin procesarea întâlnirilor în ordine inversă.
BestK = inversiuni față de ordinea descrescătoare pe prefixul [1..K] plus inversiunile crescătoare pe sufixul [K..N].
Parsează expresii recursive cu GCD/LCM și x, calculează suma evaluărilor pe un interval pas cu pas.
Dreptunghiuri maxime goale: sweep pe benzi verticale între arbori consecutivi pe x, intervale y libere.
Nivelul minim pentru fiecare oposum într-o vizuină triunghiulară și construcție de aranjament valid.
Verifică dacă G este rădăcină primitivă mod P: senzori activați și testul cu factorii primi ai lui P-1.
Alocă mașinile pe pozițiile de start pentru a minimiza diferența maximă de distanță parcursă.
Simulare competiție ktlon: numără probele câștigate de echipa R și stelele echipei câștigătoare.
Numără aparițiile unei cifre (Cerința 1) și taie numărul de la dreapta spre stânga în plăcuțe de 0..12, numărând tăieturile (Cerința 2).
Împarte șirul în secvențe de lungimi descrescătoare L, L-1, ..., 1 și găsește suma maximă de secvență.
Scanează un șir de cifre și numără perechile de vecini consecutivi (al doilea cu 1 mai mare decât primul).
cmmdc-ul șirului, sau cel mai mare cmmdc după eliminarea unui (T2) sau a două (T3) elemente, folosind prefix și sufix de cmmdc.
Pe o foaie cu laturi codificate, găsește toate pătratele cu perimetrul complet, de orice latură.
Numără inversiunile dintre ordinea valorilor și ordinea sumelor de cifre (perechi speciale).
Rațe care execută comenzi de avans (cu trecere pe latura opusă), rotire și zbor pe un lac N x N.
Plasarea alternativă a benzilor colorate, cu penalizări la mutări invalide și zone maxime de o culoare.
Dublează o cifră (bâlbâială) și verifică dacă se obține un palindrom.
Cea mai lungă bisecvență de numere libere de pătrate, eliminând un element nepotrivit din interior.
Străzi orizontale și verticale pe o grilă; numără pătratele acoperite de ambele (mov).
Găsește rândurile cu pătrățele alăturate de culori diferite și lungimea maximă a unui astfel de rând.
Simulează jocul cu doi pioni, valori calculate prin formule, capturi și regula lui 6.
Aplică alternativ ×5 și ×2, cu eliminarea zerourilor și oglindire, asupra unui număr.
La fiecare etapă se stinge cartierul maxim, stingând linia și coloana lui.
Apa turnată din stânga se acumulează în bazine; urmărim când o coloană e acoperită.
Numere care se lipesc când cifrele de capăt coincid, păstrând fiecare cifră o singură dată.
Alege bilete de 1..10 km (cel mult 3 de fiecare) ca să parcurgi exact N km la preț minim.
Un rover parcurge un pătrat în sens orar; urmărim când e pe diagonala principală.
Așază textul într-un tablou; cel mai lung palindrom pe linie/coloană și cel mai mare dreptunghi de vocale.
Pe un profil de munte, identifică vârfurile și calculează proeminența fiecăruia.
Extratereștri R/G/B cu putere dublată ciclic la culori diferite; numără luptele câștigate.
Verifică dacă un număr apare ca subșir într-un prefix al unui șir de cifre.
Alege un subșir de numere raționale cu produs maxim, incluzând magnitudinile supraunitare și ajustând semnul.
Locațiile care respectă un șir de caracteristici și punctul cu distanță Manhattan ponderată minimă (mediana ponderată).
Cutii care cad una peste alta telescopându-se; înălțimea turnului și câte sunt vizibile din lateral.
Indicatorul se mută circular pe alfabet pentru a tipări un șir, pe drumul cel mai scurt.
Nava traversează o grilă evitând undele periodice ale pulsarilor, în timp minim.
Rute pentru care subvenția pe kilometri egalează costul depourilor de la capete.
Cărțile ca intervale; mulțimea câștigătoare are un punct comun. Numărul de moduri și eliminări minime.
Costul alianțelor perfecte: min(r_X, cea mai ieftină punte de pe drum), pe arborele punților.
Reordonarea proiectelor ca, după investiția lacomă, să rămână suma maximă de bani.
Numără actualizările de minim și suma ponderată generate de un algoritm de scanare.
Cel mult S parcele disjuncte care adună exact K fructe survolând minim de cactuși.
Operațiile simetrice permută coloanele {p, N+1-p}; munții atinși = 2^(număr de blocuri de intervale).
Îndulciri pe coloane/rânduri și degustări pe segmente; dulceața = integrala pe timp, separată pe axe.
Sume pe dreptunghiuri (zile × companii) din puterile unei permutări, via ciclurile ei.
Efort minim de traversare a unui oraș cu clădiri deasupra și sub sol, cu mers și lifturi.
Durata fiecărui zbor cu trecere peste miezul nopții; zborurile speciale (A1 prim, A2 divizibil cu suma cifrelor) au momentele inversate de virus.
Numărul maxim de rânduri R cu R(R+1)/2 cuburi galbene; cuburile albastre poartă suma celor doi vecini galbeni.
Irina mănâncă un prefix, Mihaela un sufix; cu doi pointeri găsim diferența minimă cu Irina >= Mihaela.
Din fiecare număr luăm cifrele distincte și formăm cel mai mare număr posibil; fereastră glisantă de k numere consecutive.
Costul fiecărui număr = câte cifre adăugăm la dreapta ca să devină palindrom; cel mai lung șir consecutiv cu suma costurilor <= S.
Costul unui număr e distanța la primul cel mai apropiat; suma minimă a p costuri = cele mai mici p costuri.
O porțiune e traversată când o mutare între borne o cuprinde complet; numărăm trecerile și însumăm taxele.
Costul unei secvențe = suma primelor ori suma compuselor; cea mai lungă secvență cu cost <= K.
Obiectele se iau în ordinea etichetelor și se grupează maximal (16 fragile / 64 dure), umplând compartimentele la rând.
Parcurgere snek; cea mai lungă secvență Fibonacci legând cel mult un bloc non-Fibonacci transformat la cel mai apropiat Fibonacci.
Grupuri de durată 1, scor maxim = suma pătratelor sumelor de înălțimi; combinăm mare cu mare pe fiecare nivel.
Segmentele aliniabile simultan au direcțiile egale modulo 90°; răspunsul e cea mai numeroasă clasă de direcție.
Alegem b, i, n, g, o pe poziții crescătoare; costul = inversiuni de ordine plus strângerea lor (formula medianei).
Numărăm echipele cu intersecție comună (baleiere după start, AIB pe capete) și scădem echipele cu un singur tip de picior.
Drum minim de la primul la ultimul cub cu 4 mutări (±1 și salt la cel mai apropiat cub de același biom) — Dijkstra.
Ce noduri pot fi pe poziția K într-o parcurgere DFS/BFS cu ordinea fiilor liberă; se reduce la sume de submulțimi ale dimensiunilor fraților.
Din permutările de la fiecare pas deducem cifrele (cresc strict unde ordinea se inversează) și reconstruim un șir valid.
Maximizăm numărul de copii (cutii egale, >= 2 fiecare), păstrând cel mult cutia cea mai mică pentru a distribui cât mai multe bomboane.
Cea mai mare fundație pătrată, cel mai înalt turn (etaje + piloni) și câte terenuri dreptunghiulare se fac cu toate piesele.
Valoarea = suma cifrelor; echipele (antrenor, fată, băiat) au valorile la diferență de cel mult 1; matching pe benzi consecutive.
Acționări pe pătrate d×d cresc nivelul baloanelor; la nivel maxim se sparg; numărăm aer, baloane sparte și nivelul maxim.
Coeficient = sumă × cmmdc; maximul = cel mai mare S_d × d, unde S_d e suma numerelor divizibile cu d.
Termenii sunt numerele cu cifre 0/1 în baza 3; poziția x se obține scriind x-1 în binar și citind în baza 3.
Fiecare piesă se așază pe cea mai mică poziție care păstrează ordinea = numărul de piese strict mai mici + 1.
Greedy: extindem intervalul acoperit [0, reach] adăugând mereu cea mai mare cutie <= reach+1.
Pentru fiecare capăt drept, numărul de capete stânga valide = minimul ultimelor apariții ale celor k valori; însumat.
Un punct ratează cel mult un gard, deci e în intersecția tuturor minus unul; cu prefix/suffix găsim cel mai apropiat de origine.
Pentru fereastra de lungime L, a K-a valoare după sortare; precalculat cu fereastră glisantă și AIB pe valori.
Prima tură: cea mai lungă secvență cu suma divizibilă cu N (prefixe mod N); transportul complet prin runde (pigeonhole).
Maximizăm bolovanii sparți la timp (Moore-Hodgson): planificăm cei aleși în ordinea termenelor, restul la final.
Nisipul curge în aer câte un nivel pe secundă; dinamitarea transformă piatra în aer; răspundem la întrebări despre conținutul nivelurilor.
Împărțim în k subsecvențe: maximizăm valoarea celui mai mare raft (C1) sau a celui mai mic raft (C2, căutare binară).
Mișcările alunecă până la un obstacol; verificăm un șir (C1) sau aflăm numărul minim de mișcări cu BFS pe pozițiile de oprire (C2).
Numărăm cuvintele formabile pe >= K display-uri cu incluziune-excluziune peste submulțimi (N <= 22).
O matrice cu linii și coloane în progresie aritmetică e bilineară A+Bi+Cj+Dij; numărăm parametrii valizi.
Procesăm sosirile în ordine, eliberăm locurile la plecare și atribuim primul loc liber; afișăm și configurația la închidere.
Sărituri spre dreapta-jos (și săritura calului) pe o grilă; numărul minim de sărituri / numărul de moduri prin DP cu sume parțiale.
Drumul comun e o tijă S→Z plus un ciclu prin Z (primul nod repetat); minimizăm dist(S→Z) + ciclu(Z) + max(dist(Z→A), dist(Z→B)).
Doi indici de la capete: la nepotrivire inserezi o cifră în stânga sau dreapta; nu poți pune 0 chiar la început. Decizi cu ≤1 sau ≤2 inserări.
Culori ciclice roșu-galben-verde-galben: timpul până la primul verde și până când ambele semafoare au aceeași culoare.
Fiecare pasager alege scara (față/spate) cu drum minim: 3 + distanța pe culoar + distanța la scaun; și distanța totală.
B = radicalul fiecărui A_i; cea mai lungă secvență consecutivă divizibilă cu un x∈[2,9] care apare în ea.
Pe axă: pentru fiecare a_i, câți b_j leagă prietenie ((a-b)² ≤ X aproape, sau ≥ Y departe); banda de mijloc nu.
Zboruri = linii în 8 direcții care însămânțează celule; semințe, celule distincte și lungimea gardului (perimetru).
Fereastra [s-v, s] e riscantă dacă un decor apare de peste jumătate; simularea avansează sau scade vizibilitatea și adună scor.
Valoarea de reducere = gcd-ul șirului; numărul minim de operații = suma exponentului maxim al fiecărui prim în a_i / gcd.
Căutare binară pe durata T; rațele sortate după rezistență umplu culoarele dacă viteza ≥ 2·d/T.
Matrice umplută cu șirul în care i apare de 2^(i-1) ori; suma submatricei prin sume de prefix S(x).
Teleportări minime = câte tranziții v→v+1 nu au nicio pereche de camere vecine cu valorile v și v+1; actualizat după fiecare schimbare.
range(ℓ) = ultima − prima poziție a literei în [x,y]; șirul suport și numărul de anagrame distincte (coeficient multinomial).
OR=X, XOR=Y, A_i AND M_i=M_i pe fiecare bit independent; numărul de șiruri bune = produsul variantelor pe biți.
Insule = componente conexe; o interogare C/L împarte insulele după dreptunghiul lor delimitator și dă produsul mărimilor.
Înlocuirea a două adiacente cu XOR = partiție în blocuri; stare uniformă cu ≥2 blocuri egale, liniar sau circular.
DP pe drumuri: dp[j] = S_j + max dp predecesori valizi (timp crescător, |ΔX| ≤ D și ≤ ΔT); transformarea A=X−T, B=X+T.
Dijkstra pe stări (nod, mulțime de ≤2 culori) pentru cost minim 1→N, numărul de drumuri minime și un drum exemplu.
Prefix de valori mai mici, p cu prefix-max = p, și p cu exact p-1 valori ≤ p în primele p cartonașe.
N până la un miliard, dar puține operații: atribuire pe interval, citire poziție, maxim + numărare, cu o listă de intervale.
Cel mai mic Y compatibil cu X, și minimul de eliminări pentru a împerechea resturi complementare r ↔ (K−r).
Frecvența maximă, diff-ul maxim pe prefixe și diff-ul maxim pe orice secvență (perechi de cifre + Kadane).
Numărul de prime într-o secvență și numărul de secvențe cu exact p prime, prin prefixe ale numărului de prime.
A[i][j]=(15i+4j+2025)%K; numere speciale {11,22} prin congruențe, și întâlnirile i(M−1)=j(N−1) aproape speciale.
Valoarea fiecărei celule din inele Chebyshev (sume parțiale 2D); celula maximă și cea mai bună pereche depărtată.
Simulare cu reguli de prioritate: depunere în contul potrivit, retragere din contul cu sold minim; conturi active și sold maxim.
Lanțul de succesori al fiecărui număr (cifre +1, 9→0, fără zerouri în față) și al p-lea cel mai mic din tot șirul.
Furnica urmează săgețile (fiecare celulă → o singură vecină); a K-a sosire în celula țintă, prin cicluri și binary lifting.
Distanța d devine complementul biților pe L poziții; ciocnirile verticale = pași, cele înclinate = suma lungimilor binare.
Ziua maximă de start (backward), suprapunerea maximă a expedițiilor și plasarea capitolelor evitând zilele de expediție.
F(k) = cel mai mic număr care nu divide k; suma se rescrie cu lcm-urile lui 1..m, care cresc exploziv.
Intervalul reachable de linii pe fiecare coloană (extins ±1, intersectat cu spațiul liber); DA/NU, coloana de impact și apăsări min/max.
Transfer net ceil((D0−K)/2) între jumătăți; operații minime = cele mai puține urne grele, deranj minim prin maximul mutabil.
Preferințele partidelor (timp de voluntariat comun) și un cuplaj stabil între partide și politicieni.
Construirea unui program minishell care aduce variabilele la valorile țintă cu cât mai puține atribuiri de constantă.
Pentru fiecare secvență, numărul de tăieri în blocuri cu același număr de caractere distincte; suma peste toate secvențele.
Numărul maxim de niveluri completabile prin sortare topologică (Kahn); restul sunt blocate de dependențe circulare.
Șiruri cromatice = bloc contiguu extins stânga/dreapta (NSC=2^(n-1)); poziția lexicografică și al q-lea șir prin numărare binomială.
Intersecția online a arcelor circulare (despachetate în intervale liniare); numărul de șoareci comuni după fiecare experiment.
Cifrele pare rămân pe loc, iar cifrele impare se rescriu în pozițiile lor în ordine inversă (154372 → 734512).
Trei broscuțe cântă din K1, K2, K3 secunde; timeline secundă cu secundă marchează soliile, duetele (exact 2) și momentele cu toate trei.
Parcurge cifrele unui număr de 10 cifre cu vector de frecvență și decide dacă fiecare cifră 0-9 apare exact o dată.
Glisează punctul de tăiere și compară suma prefixului cu suma sufixului pentru a găsi i cu S(1,i) = S(i+1,N).
Alege centrul cu raza maximă și extinde o cruce (plus) inel cu inel pe grilă, până când un 0 sau marginea blochează un braț.
Diferența de sume prefix D[i]; o valoare repetată în D marchează un segment pe care cei doi consumă exact aceeași energie.
Two-pointer pe monede sortate: împerechează cel mai mic cu cel mai mare și numără perechile disjuncte cu suma strict mai mare decât pragul X.
Fereastră glisantă peste frază care marchează fiecare apariție a secvenței căutate (mecanismul de la cerințele 2 și 3).
Doi pointeri peste șirul de adrese: pentru fiecare start, câte ferestre conțin cel puțin K adrese distincte.
Urmărește traiectoria unui număr: pară → /2, impară → 2x+2, până la 1; numărul de pași e f(x).
Acumulează cmmdc-ul diferențelor (a_i − 1) pentru a afla cel mai mare pas x al progresiei care vizitează toate casele.
Extinde segmentul în jurul unui elev cât timp coeficienții vecini divid A[i], aflând |G_i|.
Algoritmul misterios e maximul pe fereastră glisantă; B_i e dimensiunea deque-ului monoton după fiecare pas.
Repetă matricea de bază de K ori pe verticală și colorează componentele 4-conexe cu flood fill.
Umple mereu prima eprubetă neplină o picătură pe secundă; când o sursă se golește, prefixul se reumple recursiv.
BFS pe nivele care numără drumurile minime de la start la final — exact |T_1|; pentru p > 1 se rulează pe „celule bune”.
Gigel e purtat de vânt K secunde, colectând merele fiecărei celule; iese din matrice → răspuns -1.
Doboară un grup de ținte cu lovituri maxime: sparge perechi din interior ca să izolezi ținte, apoi dobоri singurele.
Parcurge cifrele unui cod și formează amprenta = cifra maximă · 10 + cifra minimă.
Sofia sare cu +1/+2/+3 fără să calce pe căsuțe interzise; 3 căsuțe interzise consecutive o blochează.
Menține frecvențele pe categorii și suma valorilor cu frecvență maximă pentru a citi instant reprezentantul după fiecare operație.
Fiecare participant consumă atâtea bomboane câți divizori are punctajul său; urmărim bugetul rămas.
Comprimă în run-uri și numără subsecvențele al căror compress e zigzag, cu cel mai lung zigzag care se termină la fiecare run.
Scanează perechile vecine și extinde secvența cât timp cmmdc-ul lor e 1.
Calculează A_j cu sume prefix 2D și află cea mai lungă secvență de mapate cu suma ≤ maxVal (fereastră glisantă).
Greedy cu stivă: scoate cifrele mai mici din vârf cât timp mai ai eliminări, ca să maximizezi numărul format.
Elevii se așază în banca cea mai depărtată de cele ocupate (distanță Chebyshev), formând un tipar recursiv quadtree.
Operațiile x→2x+1 (adaugă bit) și x→⌊x/2⌋ (șterge bit); aducem toate valorile la o țintă comună cu cost minim.
Costul fiecărei muchii = mc(zăpada care o traversează) = ⌈log2 g⌉ + 1; separarea x împarte aleea în stânga (0) și dreapta (n+1).
Pentru fiecare start, extinde cât timp a_i divide elementele; află lungimea maximă și numărul total de subsecvențe canonice.
Fiecare înflorire adaugă val în până la 4 zone triunghiulare (semnalele active din cheie); arătăm matricea fertilității.
Carol alege un bloc contiguu (start ≡ r mod k), Luis o fereastră de p reziduuri mod k; maximizăm suma reuniunii.
Gimi cu start necunoscut urmează instrucțiuni comune; o parcurgere Euler a arborelui de acoperire aduce orice start să viziteze tot.
Procese-intervale; makespan = max peste variabile a sumei timpilor proceselor care le conțin (clica ponderată maximă).
DP de partiții: dp[i][j] = dp[i-1][j-1] + (j − min(i-1, r-1))·dp[i-1][j]; ultimii r-1 cercetași ocupă patrule distincte.
Fiecare mașină iese în linie dreaptă când calea spre margine e liberă; ordine topologică cu liste pe rânduri/coloane.
O mutare urcă 2 niveluri și coboară la un frate al părintelui; accesibilitate + număr de trasee = produs (nr. fii − 1).
Translații + rotații alternative; fiecare translație se poate roti liber, deci ținta e atinsă dacă |a|+|b| ≤ N și au aceeași paritate.
Verifică fiecare lipitură (dreapta lui i = stânga lui i+1), numără perechile și măsoară cea mai lungă serie de potriviri consecutive.
Plimbă tăieturile peste cifrele unui număr, citește părțile (zerourile din față dispar), testează primalitatea și reține cel mai mare prim.
Calculează forța (numărul de divizori) fiecărui element, reține numărul minim cu forța maximă și grupează numerele după forță pentru cea mai lungă secvență.
Furnica urcă, traversează și coboară peste profilul foilor; vizualizatorul calculează timpul total, cea mai lungă porțiune fără coborâre și foaia după T secunde.
Colorează fulgerele (componente conexe de pătrate albe, vecinătate pe 8 direcții), numără-le, află înălțimea maximă și cea mai lungă serie de cer pe un rând.
Împarte centralele în grupuri egale (k divizor al lui N), calculează energiile, factorul de dezechilibru P, și găsește numărul maxim de orașe cu dezechilibru minim.
Procesează datoriile „X > Y S”, agregă SD (datorează) și SP (de primit) pe firmă și afișează situația în ordine lexicografică.
Evidențiază fiecare zonă triunghiulară (k > 0 jos-dreapta, k < 0 sus-stânga), îi calculează suma și reține suma maximă.
Simulează buldozerul la o înălțime H, urmărind pământul de pe lamă; arată unde eșuează și calculează H maxim fezabil = min al mediilor de prefix.
Caută submatricea de profit maxim (laturi exact K sau cel mult K), folosind sume parțiale 2D și ferestre de coloane cu lățime limitată.
Desenează spirala 1..n² și marchează capătul primului subșir și începutul celui de-al doilea; pentru n mare poziția se află direct, în O(log n).
Rotește planetele zi de zi, grupează-le pe drepte (unghi mod 180°) și numără zilele/liniile cu cel puțin P planete; configurația se repetă din 180 în 180 de zile.
Aplică transformările interioare (n(C) repetă, [*C] palindrom par, [C*] palindrom impar) pas cu pas până la șirul final și numără transformările.
Pentru fiecare elev ca maxim, arată zona lui de dominanță și numără selecțiile în care e în prima jumătate, folosind cel mai apropiat element mai mare.
Dijkstra pe stări (planetă, teleportări folosite): parcurge canale sau teleportează către orice planetă la cel mult L canale distanță, cel mult K teleportări.
Construiește partiția (compoziția) de pe poziția k fără a parcurge tot tabelul, numărând câte compoziții încep cu fiecare primă parte.
DP cu bitmask peste puterile de 2 folosite: șterge blocuri pentru a maximiza suma maximă a unei subsecvențe din șirul rămas.