Pregătire OLI · clasa a 10-a · clasa a 10-a
Căutare binară · set 2 (OLI 10)
Cerință
Se dă un șir crescător de n numere (pot exista valori egale) și q întrebări. Pentru fiecare valoare x întrebată, afișează prima poziție (numerotată de la 1) pe care apare x, sau −1 dacă nu apare.
Problemă originală de pregătire pentru Olimpiada Locală, clasa a 10-a; nu este subiect oficial.
Date de intrare
Prima linie: n. A doua: șirul. A treia: q. A patra: cele q valori.
Date de ieșire
q numere separate prin spațiu. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n, q ≤ 100 000
- 1 ≤ valori ≤ 10^9
- Sunt 20 de teste, fiecare valorează 5 puncte.
1 29 1 29
1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Căutare binară „lower_bound”: cea mai mică poziție cu a[p] ≥ x. Rezultatul corect pentru acest exemplu este: 1.
2 26646818 679832632 2 947417915 182573730
-1 -1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Căutare binară „lower_bound”: cea mai mică poziție cu a[p] ≥ x. Rezultatul corect pentru acest exemplu este: -1 -1.
8 293790955 320573978 371423980 478068370 479324258 656764967 681846358 946357761 8 804624750 478068370 298617497 936722456 478068370 235102659 2243788 371423980
-1 4 -1 -1 4 -1 -1 3
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Căutare binară „lower_bound”: cea mai mică poziție cu a[p] ≥ x. Rezultatul corect pentru acest exemplu este: -1 4 -1 -1 4 -1 -1 3.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri