Pentru a putea rula codul, te rugăm să te autentifici.

Autentifică-te
main.cpp

ID #807 · InfoMoisil 2025, clasele VII-VIII · Probleme diverse

Problema Algoprime

Dificilă · 8

Memorie: 64 MB / 8 MB

Timp: 0.1 secunde

I/O: Fișiere

Algorel a învățat la ora de Informatică despre numere prime și secvențe de numere. Pasionat fiind de matematică, Algorel s-a gândit să construiască și alte categorii de numere. Astfel, a pornit de la un număr prim x, și a construit numere noi, fiecare număr nou fiind un produs de forma xa (a∈ℕ, a≠0) sau y∙xm, m∈ℕ şi y un număr prim, pe care le-a numit x-algoprime. De exemplu, numerele 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 17 sunt primele 13 numere 2-algoprime deoarece pentru x=2 obținem: 2=21, 3=3·20, 4=22, 5=5·20, 6=3·21, 7=7·20, 8=23, 10=5·21, 12=3·22, 13=13·20, 14=7·21, 16=24, 17=17·20.

Cerință

Scrieți un program care să-l ajute pe Algorel să afle pentru un șir de n numere naturale nenule (a1, a2, a3,...,an) răspunsul la următoarele întrebări:

  1. Lungimea, pozitia de început si valoarea minimă pentru cea mai lungă secvență de numere x-algoprime din șir.

  2. Câte secvenţe din șir au următoarele proprietăţi:

    • conţin exact k numere x-algoprime;
    • încep şi se termină cu un număr x-algoprim.
      În plus, Algorel doreşte să ştie care este poziţia de început şi cea de final, pentru fiecare secvenţă descoperită, relativ la şirul inițial.

Date de intrare

Fișierul de intrare algoprim.in conține pe prima linie un număr natural C reprezentând cerința care trebuie rezolvată (1 sau 2). Pe a doua linie se află n (numărul de elemente din șir), x și k (cu semnificaţia din enunţ), iar pe a treia linie se află cele n numere naturale nenule, separate prin câte un spaţiu.

Date de ieșire

Fişierul de ieșire algoprim.out va conţine răspunsul la cerința C.
Dacă C=1 fișierul va conține trei numere naturale, reprezentând lungimea, poziția de început și valoarea minimă a celei mai lungi secvențe de numere x-algoprime, respectiv valoarea 0 dacă nu există nicio secvență de numere x-algoprime.
Dacă C=2 fișierul va conține un număr nr reprezentând numărul de secvenţe ce îndeplinesc proprietăţile cerute, iar fiecare dintre următoarele nr linii vor conţine câte 2 numere naturale, separate printr-un spaţiu, reprezentând poziţia de început, respectiv de final a fiecărei secvenţe, linii ordonate crescător după poziţia de început. Dacă în şir nu există o astfel de secvenţă, se va afișa valoarea 0.

Restricții și precizări

  • 1 ≤ C ≤ 2;
  • 1 ≤ k ≤ n ≤ 100000;
  • 2 ≤ x ≤ 1000000; x este un număr natural prim
  • 1 ≤ a1, a2, a3, ..., an ≤ 1000000; a1,a2,a3,...an∈ℕ* (poziţiile din şir sunt numerotate de la 1 la n);
  • numărul 1 nu este x-algoprim;
  • o secvenţă dintr-un şir este formată din elemente aflate pe poziţii consecutive în şirul dat;
  • pentru prima cerință se acordă 40 puncte;
  • pentru a doua cerință se acordă 60 puncte.

Exemple

algoprim.in

1
10 2 3
7 16 6 9 20 8 56 11 1 5

algoprim.out

4 5 8

Explicație

C=1, se rezolvă prima cerință.

n=10, x=2, k=3 şi a=(7,16,6,9,20,8,56,11,1,5).

Numerele 2-algoprime din șir sunt 7=7·20 (număr prim înmulţit cu o putere a lui 2), 16=24 (putere a lui 2), 6=3·2 (număr prim înmulţit cu o putere a lui 2), 20=5·22 (număr prim înmulţit cu o putere a lui 2), 8=23 (o putere a lui 2), 56=7·23 (număr prim înmulţit cu o putere a lui 2), 11=11·20 (număr prim înmulţit cu o putere a lui 2), 5=5·20 (număr prim înmulţit cu o putere a lui 2)

Şirul conţine 3 secvențe de numere 2-algoprime:

7 16 6

20 8 56 11

5

Secvența a doua este de lungime maximă 4, începe de la poziția 5 și are cel mai mic număr 8.

algoprim.in

2
5 3 2
7 27 4 45 1

algoprim.out

2
1 2
2 4

Explicație

C=2, se rezolvă a doua cerință.

n=5, x=3, k=2 şi a=(7, 27, 4, 45, 1).

Şirul conţine 3 numere 3-algoprime: a1=7=7·30 (număr prim înmulţit cu o putere a lui 3), a2=27=33 (putere a lui 3) şi a4=45=5·32 (număr prim înmulţit cu o putere a lui 3).

În şir sunt două secvenţe cu câte 2 numere 3-prime: (a1, a2) respectiv (a2, a3, a4). Pe prima linie a fişierului de ieşire se va scrie valoarea 2, iar pe următoarele două linii, poziţiile de început şi de final ale celor două secvenţe determinate.

ID #807 Autor Nițulescu Laura
Set InfoMoisil 2025, clasele VII-VIII Adăugată de Alexis Alexis lexington
Capitol Clasa a IX-a/Probleme avansate/Probleme diverse
Licență

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate. Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor. Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza indicațiile problemei, te rugăm să te autentifici.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza rezolvarea problemei, te rugăm să te autentifici.

Soluții trimise la problema Algoprime

Soluții trimise 0
Soluții de 100 de puncte 0
Soluții de luna aceasta La fel de multe ca luna trecută. 0 +0
Rata de succes Rata dintre numărul de persoane care au obținut 100 de puncte și numărul total de persoane care au încercat problema. N/A

Autentifică-te pentru a vedea soluțiile tale.

Autentifică-te
  • Toate soluțiile tale le găsești aici. Găsești toate detaliile evaluării mai târziu, precum punctaje și sfaturi primite.
  • Poți să editezi soluțiile tale și să le retrimiți. Reia mai târziu de unde ai rămas, pentru că poți modifica soluții și să le reevaluezi.
  • Profesorii pot să vadă soluțiile tale și să îți trimită sugestii. Astfel, îți este mai ușor să înveți informatica, primind sfaturi bune chiar de la școală.

Ultimele soluții trimise 0

10000 1000 10000 1000 100000
1000000 100 1000 10000 10000
1000000 100 100 1000 100000
1000000 10000 10000 100000 1000000
10000000 10000 1000 100000 1000000
10 10000 1000 100 1000
1000000 10000 100000 1000 1000
10 10 1000000 100 1000
10000 100 100 100 10
10000000 10 10000000 1000 1000000
Tabelul se actualizează în timp real. ?? / ??

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te