trang chủ / đề bài / romabrows

Roman và trình duyệt

Đề bài

Mô tả

Roman đang mở n tab trên trình duyệt, đánh số từ 1 đến n. Mỗi tab thuộc một trong hai loại: tab chứa tài liệu ôn tập (ký hiệu bằng số 1) hoặc tab mạng xã hội (ký hiệu bằng số −1).

Roman muốn đóng bớt tab bằng cách sau: anh chọn một số b rồi đóng tất cả các tab có số thứ tự c=b+i·k với i là số nguyên bất kỳ (dương, âm hoặc bằng 0) và 1≤c≤n. Nói cách khác, anh đóng toàn bộ các tab có số thứ tự đồng dư với b theo modulo k.

Ví dụ, khi k=3, n=14 và Roman chọn b=8, anh sẽ đóng các tab số 2,5,8,11,14.

Sau khi đóng, gọi e là số tab tài liệu còn lại và s là số tab mạng xã hội còn lại. Roman muốn chọn b sao cho |e−s| lớn nhất. Hãy tìm giá trị lớn nhất đó.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k.
  • Dòng thứ hai gồm n số nguyên, mỗi số bằng 1 hoặc −1: số thứ i là loại của tab thứ i (1 nếu là tab tài liệu, −1 nếu là tab mạng xã hội).

Dữ liệu ra

  • Một số nguyên duy nhất: giá trị lớn nhất của |e−s|.

Ràng buộc

  • 2≤k<n≤100.
  • Mỗi phần tử của dãy bằng 1 hoặc −1.

Ví dụ

Input Output Giải thích
14 3
-1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
9 Chọn b sao cho chỉ đóng các tab loại 1, phần còn lại toàn tab mạng xã hội, cho |e−s|=9.
4 2
1 1 -1 1
2 Chọn b=1 hoặc b=3: đóng một tab mỗi loại, còn lại hai tab tài liệu nên e=2, s=0.
3 2
1 1 1
2 Đóng lớp thứ hai (chỉ tab số 2) để còn lại hai tab tài liệu, |e−s|=2.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0