Pregătire IX–X · Subprograme · clasa a 10-a
Interclasarea
Cerință
Scrie subprogramul void interclasare(int a[], int n, int b[], int m, int c[], int &k) care primește doi vectori ordonați crescător și construiește în c vectorul ordonat cu toate cele n + m elemente, fără să folosești sortarea.
În Python scrie o funcție def echivalentă. Evaluatorul verifică doar rezultatele afișate, dar exercițiul este despre scrierea și apelarea subprogramului.
Problemă originală de antrenament, nu este subiect oficial.
Date de intrare
Prima linie: n și m. A doua linie: vectorul a (crescător). A treia linie: vectorul b (crescător).
Date de ieșire
Vectorul c, pe o linie. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n, m ≤ 100 000
- −10^9 ≤ elemente ≤ 10^9
- Sunt 20 de teste, fiecare valorează 5 puncte.
1 1 535366302 -702989259
-702989259 535366302
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Doi indici i și j: copiază mereu elementul mai mic dintre a[i] și b[j], apoi ce a rămas. Rezultatul corect pentru acest exemplu este: -702989259 535366302.
2 2 150881255 462957650 -295663312 468360382
-295663312 150881255 462957650 468360382
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Doi indici i și j: copiază mereu elementul mai mic dintre a[i] și b[j], apoi ce a rămas. Rezultatul corect pentru acest exemplu este: -295663312 150881255 462957650 468360382.
4 4 -956469464 -909985113 -652625105 138952935 -403178292 12817360 545876349 996788355
-956469464 -909985113 -652625105 -403178292 12817360 138952935 545876349 996788355
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Doi indici i și j: copiază mereu elementul mai mic dintre a[i] și b[j], apoi ce a rămas. Rezultatul corect pentru acest exemplu este: -956469464 -909985113 -652625105 -403178292 12817360 138952935 545876349 996788355.
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