Time limit: 0.2s
Memory limit: 64MB
Input: divk.in
Output: divk.out
Pentru un șir de numere întregi, definim următorii termeni:
O subsecvență este șirul format din numerele în această ordine.
Suma unei subsecvențe este suma valorilor din șir. Mai exact, .
O subsecvență este -subsecvență dacă și numai dacă lungimea subsecvenței este divizibilă cu .
Cerință
Se dă și un șir de numere întregi. Să se afle suma maximă a unei -subsecvențe.
Atenție! Aveți voie să alegeți o subsecvență de lungime (care are suma ). Deci răspunsul este cel puțin .
Date de intrare
Pe prima linie a fișierului de intrare divk.in
se găsesc două numere întregi, și . Pe a doua linie se află șirul de numere întregi.
Date de ieșire
Pe prima linie a fișierului de ieșire divk.out
se va găsi un singur număr întreg, suma maximă a unei -subsecvențe.
Restricții și precizări
- pentru fiecare de la la .
# | Punctaj | Restricții |
---|---|---|
1 | 27 | |
2 | 19 | |
3 | 24 | |
4 | 30 | Fără alte restricții |
Exemplul 1
divk.in
5 3
9 -1 8 4 -13
divk.out
16
Explicație
Avem .
Putem alege -subsecvența care are suma . Nu putem alege subsecvența deoarece are lungimea , iar nu e divizibil cu .
Exemplul 2
divk.in
5 1
9 -1 8 4 -13
divk.out
20
Explicație
Putem alege -subsecvența . Aceasta are suma .
Exemplul 3
divk.in
7 3
-1 -1 -1 9 -1 -1 -1
divk.out
7
Explicație
Există mai multe subsecvențe care obțin suma . De exemplu, putem alege -subsecvența . Aceasta are suma .
Exemplul 4
divk.in
3 2
-1 -1 -1
divk.out
0
Explicație
Observăm că orice subsecvență de lungime are suma negativă. Deci, putem alege subsecvența vidă care are suma .