1337

Time limit: 0.13s Memory limit: 37MB Input: 1337.in Output: 1337.out

Cerință

Gigel, mare hacker de meserie, vrea să afle secretul spus de Marius Mariei. Gigel interceptează mesajul, vede că este format din nn numere întregi, însă își dă seama că este criptat. Pentru a decripta mesajul, acesta are nevoie de numărul special XX din mesaj. XX este elementul maxim care se află într-o subsecvență a cărei sumă mod kk este egală cu pp.
Ajutați-l pe Gigel să decripteze mesajul, pentru a afla secretul. Dacă mai multe subsecvențe conțin elementul maxim XX, alegeți subsecvența specială (cea mai scurtă). Dacă există mai multe subsecvențe de lungime minimă, alegeți subsecvența cu indicele jj cel mai mic. Dacă nu există o subsecvență a cărei sumă mod kk este egală cu pp, afișați mesajul „Nu exista”. Numim subsecvență orice alăturare de elemente consecutive (în vector): vi,vi+1,vi+2,,vjv_i, v_{i+1}, v_{i+2}, \ldots, v_j.

Date de intrare

Pe prima linie a fișierului de intrare 1337.in se găsesc trei numere întregi, nn, kk și pp (numărul de elemente din vector, respectiv kk și pp, cu specificația de mai sus).
Pe a doua linie, se găsesc nn numere întregi, separate prin spațiu (elementele vectorului).

Date de ieșire

Pe prima linie a fișierului de ieșire 1337.out se va găsi un singur număr întreg XX.
Pe a doua linie, se vor găsi două numere întregi, separate prin spațiu, reprezentând indicii care delimitează subsecvența.

Restricții și precizări

  • 1n1000001 \le n \le 100\,000
  • 1018v[i]1018-10^{18} \le v[i] \le 10^{18}
  • 0p<k10180 \le p < k \le 10^{18}
  • Pentru 20 de puncte, 1n25001 \le n \le 2500
  • Pentru alte 30 de puncte, 1n500001 \le n \le 50 000
  • Pentru afișarea corectă a numărului special XX, se acordă 40% din punctajul pe subtask.

Exemplul 1

1337.in

6 5 0
3 1 4 2 5 1

1337.out

5
5 5

Explicație

Subsecvențele cu suma mod 55 egală cu 00 sunt:

3,1,4,23, 1, 4, 2 — sumă 1010mod5=010 \rightarrow 10 \bmod 5 = 0 (element maxim = 4)

3,1,4,2,53, 1, 4, 2, 5 — sumă 1515mod5=015 \rightarrow 15 \bmod 5 = 0 (element maxim = 5, lungime = 5)

1,41, 4 — sumă 55mod5=05 \rightarrow 5 \bmod 5 = 0 (element maxim = 4)

55 — sumă 55mod5=05 \rightarrow 5 \bmod 5 = 0 (element maxim = 5, lungime = 1)

Numărul special X=5X = 5, iar indicii care delimitează subsecvența specială sunt 5 și 5.

Exemplul 2

1337.in

6 1000 0
3 1 4 2 5 1

1337.out

Nu exista

Log in or sign up to be able to send submissions!