zudt

Time limit: 0.5s Memory limit: 64MB Input: zudt.in Output: zudt.out

Se consideră un număr natural NN și un șir A=(a1,a2,a3,,aN)A = (a_1, a_2, a_3, \dots, a_N) format din NN numere naturale nenule.

Definim S(i,j)S(i, j) ca fiind egal cu suma ai+ai+1+ai+2++aja_i + a_{i+1} + a_{i+2} + \dots + a_j, unde 1ijN1 \le i \le j \le N.

Cerință

Se cunosc numărul NN și șirul AA. Scrieți un program care să determine răspunsurile pentru următoarele trei întrebări:

  1. Există o poziție ii (1i<N1 \le i < N) cu proprietatea că S(1,i)=S(i+1,N)S(1, i) = S(i + 1, N)?
  2. Există o poziție ii (1<i<N1 < i < N) cu proprietatea că S(1,i1)=S(i+1,N)S(1, i - 1) = S(i + 1, N)?
  3. Există două poziții ii și jj (1<i1 < i și i+1<j<Ni + 1 < j < N) cu proprietatea că S(1,i1)=S(i+1,j1)=S(j+1,N)S(1, i - 1) = S(i + 1, j - 1) = S(j + 1, N)?

Date de intrare

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

  • pe prima linie, un număr natural CC (11, 22 sau 33), reprezentând cerința care trebuie rezolvată;
  • pe a doua linie, numărul natural NN cu semnificația din enunț;
  • pe a treia linie, NN numere naturale nenule, separate prin câte un spațiu, reprezentând elementele șirului AA.

Date de ieșire

Fișierul de ieșire zudt.out conține pe prima linie răspunsul determinat pentru cerința CC:

  • Pentru C=1C = 1, prima linie conține un număr natural reprezentând răspunsul la prima întrebare. Dacă există o astfel de poziție ii astfel încât S(1,i)=S(i+1,N)S(1, i) = S(i + 1, N), atunci răspunsul este numărul ii. Dacă nu există, atunci răspunsul este numărul 00;
  • Pentru C=2C = 2, prima linie conține un număr natural reprezentând răspunsul la a doua întrebare. Dacă există o astfel de poziție ii astfel încât S(1,i1)=S(i+1,N)S(1, i - 1) = S(i + 1, N), atunci răspunsul este numărul ii. Dacă nu există, atunci răspunsul este numărul 00;
  • Pentru C=3C = 3, prima linie conține două numere naturale, separate printr-un singur spațiu, reprezentând răspunsul la a treia întrebare. Dacă există două poziții distincte ii și jj astfel încât S(1,i1)=S(i+1,j1)=S(j+1,N)S(1, i - 1) = S(i + 1, j - 1) = S(j + 1, N), atunci răspunsul este format din numărul ii și numărul jj, în această ordine. Dacă nu există, atunci răspunsul este numărul 00.

Restricții și precizări

  • C{1,2,3}C \in \{1, 2, 3\};
  • 5N200 0005 \le N \le 200 \ 000;
  • 1ai1 0001 \le a_i \le 1 \ 000, i=1,2,,Ni = 1, 2, \dots, N;
  • S(i,i)=aiS(i, i) = a_i, i=1,2,,Ni = 1, 2, \dots, N.
# Punctaj Restricții
1 60 C=1C = 1, N1000N \le 1000
2 20 C=2C = 2, N200 000N \le 200 \ 000
3 20 C=3C = 3, N200 000N \le 200 \ 000

Exemplul 1

zudt.in

1
9
2 3 1 4 2 4 4 5 15

zudt.out

7

Explicație

i=7i = 7, deoarece S(1,7)=20S(1, 7) = 20 și S(8,9)=20S(8, 9) = 20.

Exemplul 2

zudt.in

1
5
2 3 1 4 6

zudt.out

0

Explicație

Nu există o poziție ii cu proprietatea cerută:
S(1,1)=2S(1, 1) = 2, S(2,5)=14S(2, 5) = 14, 2142 \ne 14;
S(1,2)=5S(1, 2) = 5, S(3,5)=13S(3, 5) = 13, 5135 \ne 13;
S(1,3)=6S(1, 3) = 6, S(4,5)=10S(4, 5) = 10, 6106 \ne 10;
S(1,4)=10S(1, 4) = 10, S(5,5)=6S(5, 5) = 6, 10610 \ne 6.

Exemplul 3

zudt.in

2
5
2 3 1 4 2

zudt.out

0

Explicație

Nu există o poziție ii cu proprietatea cerută:
i=2i = 2, S(1,1)=2S(1, 1) = 2, S(3,5)=7S(3, 5) = 7, 272 \ne 7;
i=3i = 3, S(1,2)=5S(1, 2) = 5, S(4,5)=6S(4, 5) = 6, 565 \ne 6;
i=4i = 4, S(1,3)=6S(1, 3) = 6, S(5,5)=2S(5, 5) = 2, 626 \ne 2.

Exemplul 4

zudt.in

2
9
2 3 1 4 202 7 1 1 1

zudt.out

5

Explicație

i=5i = 5, deoarece S(1,4)=10S(1, 4) = 10 și S(6,9)=10S(6, 9) = 10.

Exemplul 5

zudt.in

3
9
2 3 1 8 6 7 2 2 2

zudt.out

4 6

Explicație

i=4i = 4 și j=6j = 6, deoarece S(1,3)=6S(1, 3) = 6, S(5,5)=6S(5, 5) = 6 și S(7,9)=6S(7, 9) = 6.

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