secvente

Time limit: 0.1s Memory limit: 64MB Input: secvente.in Output: secvente.out

Se consideră un șir cu NN elemente numere întregi. Definim următoarele noțiuni:

  • secvență în șir = elemente situate pe poziții consecutive în șir
  • lungimea unei secvențe = numărul de elemente care o formează
  • suma unei secvențe = suma elementelor care o formează
  • secvența nebanală = secvența de lungime cel puțin egală cu 22
  • N-secvență = secvență a cărei sumă este divizibilă cu NN (secvența poate fi și banală)
  • N-secvență nebanală = secvență nebanală a cărei sumă este divizibilă cu NN.

Cerință

Scrieți un program care să citească numărul natural NN și apoi șirul de NN elemente. Programul determină:

  1. numărul de NN-secvențe nebanale, din șir;
  2. cea mai mare lungime a unei NN-secvențe din șir;
  3. cea mai mare sumă a unei NN-secvențe din șir.

Date de intrare

Fișierul de intrare secvente.in conține pe prima linie numere naturale CC și NN separate printr-un singur spațiu. CC reprezentând cerința care trebuie rezolvată (1,21, 2 sau 33).

Date de ieșire

Fișierul secvente.out va conține pe prima linie un număr natural reprezentând:

dacă C=1C = 1, numărul de N-secvențe nebanale din șir (răspunsul la cerința 11);
dacă C=2C = 2, cea mai mare lungime a unei N-secvențe din șir (răspunsul la cerința 22);
dacă C=3C = 3, cea mai mare sumă a unei N-secvențe din șir (răspunsul la cerința 33).

Restricții și precizări

  • 2N100 0002 \leq N \leq 100 \ 000
  • elementele șirului sunt numere întregi din interval închis [109,109][-10^9, 10^9]
  • în șirul de numere dat există cel puțin o N-secvență a cărei sumă este un număr natural
  • numărul întreg negativ XX este divizibil cu numărul natural nenul NN dacă restul împărțirii modulului lui XX la NN este 00 (de exemplu, X=30X=-30 este divizibil cu N=6N=6, iar X=45X=-45 nu este divizibil cu N=6N=6)
  • Pentru pentru fiecare dintre cerințele 11 și 22 se acordă 3030p, iar pentru cerința 33 se acordă 4040p.

Exemplul 1

secvente.in

1 10
-9 -3 4 -10 -1 -16 18 18 -10 50

secvente.out

8

Explicație

Se rezolvă cerința 11. Șirul are N=10N=10 elemente întregi: 9,3,4,10,1,16,18,18,10,50-9, -3, 4, -10, -1, -16, 18, 18, -10, 50.

Cele N-secvențe nebanale sunt ( 3,4-3, 4 , 10,1-10, -1 ) , (16,18,18-16, 18, 18), (10,50-10, 50), (16,18-16, 18 , 18,1018, -10), (16,18-16, 18 , 18,10,5018, -10, 50), (3,4,10(-3, 4, -10 , 1,16,18,18-1, -16, 18, 18), (3,4,10-3, 4, -10 , 1,16,18-1, -16, 18 , 18,1018, -10), (3,4,10-3, 4, -10 , 1,16,18-1, -16, 18 , 18,10,5018, -10, 50) .

Exemplul 2

secvente.in

2 10
-9 -3 4 -10 -1 -16 18 18 -10 50

secvente.out

9

Explicație

Se rezolvă cerința 22. Șirul are N=10 elemente întregi: 9,3,4,10-9, -3, 4, -10 , 1,16,18-1, -16, 18 , 18,10,5018, -10, 50.

Cea mai lungă dintre aceste secvențe este N-secvența (3,4,10,1-3, 4,-10,-1 , 16,18,18-16,18,18 , 10,50-10,50). Lungimea acestei secvențe este 99.

secvente.in

3 10
-9 -3 4 -10 -1 -16 18 18 -10 50

secvente.out

60

Explicație

Se rezolvă cerința 33. Șirul are N=10 elemente întregi: 9,3,4,10-9, -3, 4, -10 , 1,16,18-1, -16, 18 , 18,10,5018, -10, 50.

Suma maximă a unei secvente este 6060 (suma N-secvenței: 16,18,18-16,18,18 , 10,50-10,50).

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