trang chủ / đề bài / guestday

Sinh viên trao đổi

Đề bài

Mô tả

Trường Đại học Tổng hợp Berland nhận sinh viên trao đổi từ khắp nơi trên thế giới. Trường làm việc tất cả các ngày trong tuần, nhưng các lớp dành riêng cho sinh viên trao đổi chỉ diễn ra vào một số ngày cố định, lặp lại theo chu kỳ 7 ngày.

Lịch học được mô tả bởi bảy số nguyên a1,a2,…,a7 (mỗi ai bằng 0 hoặc 1):

  • a1=1 khi và chỉ khi có lớp vào Chủ nhật;
  • a2=1 khi và chỉ khi có lớp vào Thứ Hai;
  • …
  • a7=1 khi và chỉ khi có lớp vào Thứ Bảy.

Đảm bảo có ít nhất một ngày trong tuần diễn ra lớp học.

Bạn muốn tới thủ đô Berland và ở lại một khoảng thời gian liên tiếp sao cho số ngày có lớp mà bạn tham dự đúng bằng k, đồng thời tổng số ngày lưu trú là nhỏ nhất. Bạn được tự do chọn ngày bắt đầu và ngày kết thúc của khoảng thời gian đó. Hãy tính độ dài nhỏ nhất của khoảng thời gian này.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa số nguyên k là số ngày học cần đạt được.
    • Dòng thứ hai chứa đúng bảy số nguyên a1,a2,…,a7.

Dữ liệu ra

In ra t dòng, dòng thứ i là đáp án cho bộ dữ liệu thứ i: độ dài nhỏ nhất của khoảng thời gian liên tiếp cần ở lại để tham dự đúng k ngày học.

Ràng buộc

  • 1≤t≤10000
  • 1≤k≤108
  • ai∈{0,1} và a1+a2+⋯+a7≥1

Ví dụ

Input Output Giải thích
3
2
0 1 0 0 0 0 0
100000000
1 0 0 0 1 0 1
1
1 0 0 0 0 0 0
8
233333332
1
Bộ 1: chỉ có lớp vào Thứ Hai. Đến vào Thứ Hai, học một buổi, chờ trọn một tuần rồi học buổi thứ hai vào Thứ Hai kế tiếp, tổng cộng 8 ngày.
Bộ 2: có lớp vào Chủ nhật, Thứ Năm, Thứ Bảy (3 buổi mỗi tuần). Ta dùng 33333333 tuần trọn vẹn cho 99999999 buổi, cộng thêm 1 ngày cho buổi cuối: 33333333·7+1=233333332.
Bộ 3: đến đúng Chủ nhật và về ngay trong ngày.
1
13131313
1 0 1 0 1 1 1
18383837 Có 5 buổi mỗi tuần. Vì 13131313=5·2626262+3, ta dùng 2626262 tuần trọn vẹn rồi cần thêm 3 buổi. Ba ngày Thứ Năm, Thứ Sáu, Thứ Bảy (ứng với a5,a6,a7) đều có lớp và liền kề nhau, nên phần đuôi chỉ tốn 3 ngày: 2626262·7+3=18383837.

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