Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | perioada01.in, perioada01.out | Sursă | Algoritmiada 2015 Runda 1 |
Autor | Eugenie Daniel Posdarascu | Adăugată de | |
Timp execuţie pe test | 0.45 sec | Limită de memorie | 66432 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Perioada01
Se dau doua numere N si P. Se considera sirul de caractere de lungime N, plin cu 0. Seful la bani stie ca a ales P pozitii distincte pe care le-a transformat din 0 in 1. Intrebarea lui este daca sirul nou format este periodic sau nu (un sir se numeste periodic daca se poate obtine prin concatenarea unui subsir de-al sau; Exemplu: "ababab" este periodic deoarece are perioada "ab", dar "abac" nu este periodic). Daca este periodic, se va afisa lungimea perioadei minime a acestuia, altfel -1.
Date de intrare
Fişierul de intrare perioada01.in va contine pe prima linie 2 numere N si P. Pe urmatoarea linie vor fi P numere, reprezentand pozitiile distincte la care s-au efectuat schimbarile (din 0 in 1).
Date de ieşire
Fişierul de ieşire perioada01.out va contine un singur numar: -1 daca sirul nu este periodic si x daca sirul este periodic (unde x reprezinta lungimea perioadei minime)
Restricţii
- 1 ≤ N ≤ 1.000.000.000
- 1 ≤ P ≤ ≤ 1.000.000
- Pentru 20% din teste n ≤ 100.000
- Pentru alte 20% din teste n ≤ 10.000.000 si P ≤ 100
- Pentru alte 20% din teste p ≤ 100.000
Exemplu
perioada01.in | perioada01.out |
---|---|
999999999 3 1 333333334 666666667 | 333333333 |