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

Autentifică-te
main.cpp

Dificilă · 8

Memorie: 64 MB / 16 MB

Timp: 0.2 secunde

I/O: Fișiere

Se consideră modelul unui sistem solar format din N planete care se rotesc în jurul unei stele S, în sens trigonometric. Traiectoriile planetelor se consideră circulare și de raze diferite, iar vitezele de rotație ale planetelor în jurul stelei sunt numere naturale și sunt exprimate în grade pe zi (°/zi).

Cerință

Cunoscând numărul de planete N și vitezele lor de rotație Vi, 1 ≤ i ≤ N precum și două numere naturale P și Z, să se determine numărul A de alinieri a câte minimum P planete, pe o dreaptă ce trece prin centrul stelei S, după trecerea celor Z zile. Evoluția sistemului solar începe cu toate planetele așezate orizontal, în dreapta stelei S.

De exemplu, pentru n = 4, p = 3, z = 365, v = (20, 11, 8, 6), aliniearea a minimum 3 planete din cele 4 se va face la finalul zilelor 60, 90, 120, 180, 240, 270, 300, 360. După 365 de zile vor exista A = 8 alinieri.

Imagine

Date de intrare

Fișierul de intrare alinieri.in conține pe prima linie, în această ordine, numerele naturale N, P și Z, iar pe-a doua linie, N numere naturale Vi, 1 ≤ i ≤ N cu semnificația de mai sus. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire alinieri.out va conține pe prima linie numărul A, cu semnificația de mai sus.

Restricții și precizări

  • 2 ≤ P ≤ N ≤ 105
  • 1 ≤ Z ≤ 106
  • 1 ≤ Vi ≤ 103, 1 ≤ i ≤ N
  • Pentru teste în valoare de aproximativ 33% din punctajul total 1 ≤ Z ≤ 1000
  • Pentru teste în valoare de aproximativ 33% din punctajul total 1 ≤ N ≤ 100
  • Pentru teste în valoare de aproximativ 33% din punctajul total 2 ≤ P ≤ 9
  • Se vor lua în considerare doar alinierile de la sfârșitul fiecărei zile (ora 24:00), când planetele și-au încheiat parcursul zilnic.

Exemple

alinieri.in

4 3 365 
20 11 8 6

alinieri.out

8

Explicație

Pentru primul exemplu: N = 4, P = 3, Z = 365 și V = [20, 11, 8, 6]. Prima aliniere a minimum 3 planete dintre cele 4 planete are loc după 60 de zile (conform figurii din exemplul de mai sus). Evoluția celor 4 planete este următoarea:

  • planeta 1 efectuează 3 rotații complete și încă 120°;
  • planeta 2 efectuează 1 rotație completă și încă 300°;
  • planeta 3 efectuează 1 rotație completă și încă 120°;
  • planeta 4 efectuează exact 1 rotație.
Următoarele alinieri a minimum 3 din cele 4 planete au loc după 90, 120, 180, 240, 270, 300, 360 zile.

Deci în 365 zile vor avea loc 8 alinieri.

Raționamentul este similar pentru celelalte două exemple.

alinieri.in

7 3 2020 
10 20 10 15 20 10 20  

alinieri.out

3928

Explicație

Pentru primul exemplu: N = 4, P = 3, Z = 365 și V = [20, 11, 8, 6]. Prima aliniere a minimum 3 planete dintre cele 4 planete are loc după 60 de zile (conform figurii din exemplul de mai sus). Evoluția celor 4 planete este următoarea:

  • planeta 1 efectuează 3 rotații complete și încă 120°;
  • planeta 2 efectuează 1 rotație completă și încă 300°;
  • planeta 3 efectuează 1 rotație completă și încă 120°;
  • planeta 4 efectuează exact 1 rotație.
Următoarele alinieri a minimum 3 din cele 4 planete au loc după 90, 120, 180, 240, 270, 300, 360 zile.

Deci în 365 zile vor avea loc 8 alinieri.

Raționamentul este similar pentru celelalte două exemple.

alinieri.in

6 3 658903 
17 24 12 150 200 12 

alinieri.out

58568

Explicație

Pentru primul exemplu: N = 4, P = 3, Z = 365 și V = [20, 11, 8, 6]. Prima aliniere a minimum 3 planete dintre cele 4 planete are loc după 60 de zile (conform figurii din exemplul de mai sus). Evoluția celor 4 planete este următoarea:

  • planeta 1 efectuează 3 rotații complete și încă 120°;
  • planeta 2 efectuează 1 rotație completă și încă 300°;
  • planeta 3 efectuează 1 rotație completă și încă 120°;
  • planeta 4 efectuează exact 1 rotație.
Următoarele alinieri a minimum 3 din cele 4 planete au loc după 90, 120, 180, 240, 270, 300, 360 zile.

Deci în 365 zile vor avea loc 8 alinieri.

Raționamentul este similar pentru celelalte două exemple.
ID #716 Autor OJI 2020, clasa a X-a
Set Olimpiada Județeană de Informatică 2020, clasa a X-a Adăugată de Alexis Alexis lexington
Capitol Clasa a IX-a/Vectori (tablouri unidimensionale)/Vectori de frecvență și vectori caracteristici
Licență

Problema aceasta a fost publicată sub licența CC BY-SA 4.0. Indicațiile sunt publicate sub licența CC BY-SA 4.0, iar rezolvarea sub licența InfoAs Standard License. Licența InfoAs Standard License nu permite copierea sau modificarea fără acordul scris al autorilor. Platforma și toate funcționalitățile ei rămân în continuare proprietatea intelectuală Aspire Education Labs SRL. © 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

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 Alinieri

Soluții trimise 14
Soluții de 100 de puncte 4
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. 100%

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 14

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

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te