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

Autentifică-te
main.cpp

Dificilă · 8

Memorie: 64 MB / 8 MB

Timp: 0.1 secunde

I/O: Fișiere

Programatorii unei aplicații de arhivare urmăresc să codifice secvențe de date numerice repetitive folosind o cheie de arhivare. Pentru o arhivare eficientă, programatorii vor înlocui fiecare două sau mai multe grupări de numere identice cu o cheie de arhivare compusă din 2 numere astfel: primul număr al cheii va reprezenta elementul arhivat, iar cel de-al doilea număr al cheii reprezintă numărul de apariții al elementului găsit de mai multe ori în cadrul aceleiași subsecvențe.

Cerință

  1. Considerându-se n numere naturale, să se arhiveze aceste numere, conform algoritmului prezentat mai sus;
  2. Considerându-se o arhivă formată după regula de mai sus, să se obțină numerele, în forma dezarhivată.

Date de intrare

Fișierul de intrare arhiva.in conține:

  • pe prima linie un număr natural c (1 sau 2), reprezentând cerința care urmează să se rezolve;
  • pe următoarea linie, se consideră un număr natural nenul n, reprezentând numărul de elemente citite;
  • iar pe cea de-a treia linie, se află cele n numere, reprezentând, după caz, elementele date spre arhivare, respectiv spre dezarhivare.

Date de ieșire

Fișierul de intrare arhiva.out conține o singură linie.

  • Dacă c=1, se va scrie șirul de numere dat inițial, în care se înlocuiesc secvențele compuse din numere identice cu cheile de arhivare aferente;
  • Dacă c=2, se va scrie șirul de numere dezarhivat.

Restricții și precizări

  • Toate numerele citite sunt naturale și nenule;
  • Numărul c poate lua doar valorile 1 sau 2;
  • Valoarea n, precum și valorile ulterior citite nu depășesc valoarea 1000.

Exemple

arhiva.in

1
11
1 1 1 3 12 12 5 17 17 3 3

arhiva.out

1 3 3 1 12 2 5 1 17 2 3 2

Explicație

3 valori egale cu 1 => (1; 3) O sigură valoare egală cu 3 => (3; 1) 2 valori egale cu 12 => (12; 2) O sigură valoare egală cu 5 => (5; 1) 2valori egale cu17=>(17; 2) 2valori egale cu3=>(3; 2)`

arhiva.in

2
8
2 2 4 2 5 3 2 3

arhiva.out

2 2 4 4 5 5 5 2 2 2

Explicație

2 valori egale cu 2 => (2; 2) 2 valori egale cu 4 => (4; 4) 3 valori egale cu 5 => (5; 5; 5) 3 valori egale cu 2 => (2; 2; 2)

ID #812 Autor Ciofalău Dragoș-Paul
Set Olimpiada Locală de Informatică 2025, Brașov, clasa a V-a 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 Arhivare

Soluții trimise 6
Soluții de 100 de puncte 1
Soluții de luna aceasta Cu 1 mai puține decât luna trecută. 0 -1
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. 50%

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 6

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

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te