Dat fiind un șir de numere naturale , considerăm următorul algoritm, prezentat în pseudocod:
cnt ← 0
score ← 0
pentru i de la 1 la N execută
min ← ∞
pentru j de la i la N executa
daca A[j] < min atunci
min ← A[j]
cnt ← cnt + 1
score ← score + cnt · A[j]
sfarsit_daca
sfarsit_pentru
sfarsit_pentru
- Care este valoarea lui la sfârșitul algoritmului?
- Care este valoarea lui la sfârșitul algoritmului, modulo ?
Date de intrare
Pe prima linie a fișierului de intrare changemin.in se află numerele naturale și , separate printr-un spațiu, reprezentând cerința care trebuie rezolvată, respectiv numărul de numere ce urmează a fi citite.
Pe următoarea linie se află numere naturale separate printr-un spațiu, reprezentând numerele .
Date de ieșire
Fișierul de ieșire changemin.out va conține:
- Pentru : un singur număr natural, reprezentând valoarea lui la finalul execuției algoritmului;
- Pentru : un singur număr natural, reprezentând valoarea lui la finalul execuției algoritmului, modulo .
Restricții și precizări
- pentru oricare
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 6 | și |
| 2 | 9 | și |
| 3 | 21 | , și |
| 4 | 24 | |
| 5 | 4 | și |
| 6 | 6 | și |
| 7 | 11 | , și |
| 8 | 19 |
Exemplul 1
changemin.in
1 5
3 4 2 2 1
changemin.out
11
Explicație
este incrementată de ori pe parcursul execuției algoritmului
Exemplul 2
changemin.in
2 5
3 4 2 2 1
changemin.out
103
Explicație
este obținută astfel:
Sursă și autori
ONI 2022, clasele 10. Bogdan-Ioan Popa.
Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.
Trimite o soluție
Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.
Se verifică autentificarea…