BigMac

Time limit: 0.3s Memory limit: 64MB Input: Output:

"Vrei să vezi o țeapă?" *iese din apel*

Cerință

Se dă n,kn, k și un șir aa de nn numere întregi. O operație de flip pe un număr din aa constă în schimbarea semnului numărului (11 devine 1-1, iar 5-5 devine 55). Să se afle suma maximă a unei subsecvențe contigue din aa care nu conține numere negative, după ce se fac exact kk operații de flip, pe care voi le veți alege.

Date de intrare

Pe prima linie se găsesc două numere naturale, nn și kk. Pe următoarea linie se găsesc nn numere întregi, elementele șirului aa.

Dacă folosiți citire cu std::cin, vă recomandăm să adăugați aceste linii la începutul programului:

std::ios_base::sync_with_stdio(0);
std::cin.tie(0);

Date de ieșire

Pe prima linie se va găsi un singur număr natural, reprezentând răspunsul.

Restricții și precizări

  • 0kn1 000 0000 \leq k \leq n \leq 1 \ 000 \ 000.
  • 109ai109-10^9 \leq a_i \leq 10^9, pentru ii de la 11 la nn.
  • Se pot face mai multe operații flip pe același număr.
  • Se garantează că se pot face kk operații de flip astfel încat să existe cel puțin un număr pozitiv în aa.
# Punctaj Restricții
0 0 Exemplul
1 7 n20n \leq 20
2 8 n1 000n \leq 1 \ 000
3 5 k=0k = 0
4 13 k=1k = 1
5 9 Toate numerele sunt mai mari sau egale cu 00
6 22 Există exact un număr mai mic strict decât 00
7 36 Fără alte restricții

Exemplul 1

stdin

7 2
4 -2 -3 1 10 -1 5

stdout

20

Explicație

Facem flip la elementele de pe pozițiile 22 și 33. Șirul devine 4 2 3 1 10 1 54 \ 2 \ 3 \ 1 \ 10 \ -1 \ 5. Suma maximă a unei secvențe care conține doar numere pozitive este 4+2+3+1+10=204 + 2 + 3 + 1 + 10 = 20.

Exemplul 2

stdin

5 2
2 3 -1 4 6 

stdout

14

Explicație

Facem flip la elementele de pe pozițiile 11 și 33. Șirul devine 2 3 1 4 6-2 \ 3 \ 1 \ 4 \ 6. Suma maximă a unei secvențe care conține doar numere pozitive este 3+1+4+6=143 + 1 + 4 + 6 = 14.

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