Rezolvare PBinfo #4581

Decorative Icon Problema: kpower / 4581

Decorative IconAutor: Darius

Un număr natural se numește kpower dacă este putere a numărului natural k. O secvență kpower este un subşir de numere kpower care apar pe poziţii consecutive într-un şir.

Cerințe

Fiind dat un un număr natural k și un şir de n numere naturale, scrieți un program care rezolvă următoarele cerințe:
1. Determină cel mai mare număr kpower dintre cele n numere date.
2. Determină lungimea maximă a unei secvențe kpower.
3. Determină cea mai mare sumă ce se poate obține adunând numerele dintr-o secvență kpower de lungime maximă.

Date de intrare

Fișierul de intrare kpower.in conține pe prima linie numărul C reprezentând cerința (1, 2 sau 3), pe a doua linie numerele k și n, iar pe a treia linie un șir de n numere, numerele de pe aceeași linie fiind separate prin câte un spațiu.

Date de ieșire

Dacă cerința C = 1, atunci pe prima linie a fişierului de ieşire kpower.out se va scrie cel mai mare număr kpower găsit.
Dacă cerința C = 2, atunci pe prima linie a fişierului de ieşire kpower.out se va scrie lungimea maximă a unei secvențe kpower.
Dacă cerința C = 3, atunci pe prima linie a fişierului de ieşire kpower.out se va scrie suma maximă a unei secvențe kpower de lungime maximă.

Restricții și precizări
  • 0 < k ≤ 9
  • 1 ≤ n ≤ 1.000.000
  • cele n numere citite sunt din intervalul [0, 1012]
  • pentru toate datele de test, există cel puțin un număr kpower printre cele n numere
  • pentru teste valorând 20 de puncte cerinţa va fi C = 1
  • pentru teste valorând 30 de puncte cerinţa va fi C = 2
  • pentru teste valorând 40 de puncte cerinţa va fi C = 3
Exemplul 1:

kpower.in

1
3 19
1 27 9 17 21 3 1 27 3 9 81 78 56 1 3 9 1 81 9

kpower.out

81

Explicație

k este 3, iar cel mai mare număr din șir care este putere a lui 3 este 81.

Exemplul 2:

kpower.in

2
3 19
1 27 9 17 21 3 1 27 3 9 81 78 56 1 3 9 1 81 9

kpower.out

6

Explicație

Secvențele kpower sunt cele subliniate. Lungimea maximă a unei secvențe kpower este 6.

Exemplul 3:

kpower.in

3
3 19
1 27 9 17 21 3 1 27 3 9 81 78 56 1 3 9 1 81 9

kpower.out

124

Explicație

Dintre cele două secvențe kpower de lungime maximă, cea dintâi are suma numerelor maximă: 3 + 1 + 27 + 3 + 9 + 81 = 124.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate