MAXSUBA

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Ami có hai dãy số nguyên \(A\)\(B\) đều chứa \(N\) phần tử và một số nguyên \(X\). Định nghĩa \(f(l, r)\) như sau:

\[f(l, r) = \left \lfloor{\frac{a[l] + a[l+1] + \dots + a[r]}{b[l] + b[l+1] + \dots + b[r]}}\right \rfloor\]

Trong đó, \(\lfloor{x}\rfloor\) là số nguyên lớn nhất không vượt quá \(x\). Ví dụ, \(\lfloor{6.9}\rfloor = 6\)\(\lfloor{-6.9}\rfloor = -7\).

Các bạn cần tìm giá trị lớn nhất của \(f(l, r)\) sao cho \(r - l + 1 \geq X\).

Input

  • Dòng đầu tiên chứa một số nguyên dương \(N\) là số lượng phần tử của dãy \(A\).
  • \(N\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(A[i]\) là một phần tử của dãy \(A\).
  • Dòng tiếp theo chứa một số nguyên dương \(N\) là số lượng phần tử của dãy \(B\).
  • \(N\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(B[i]\) là một phần tử của dãy \(B\).
  • Dòng cuối cùng chứa một số nguyên dương \(X\).

Dữ liệu đảm bảo hai dãy \(A\)\(B\) có số lượng phần tử bằng nhau.

Output

  • Một dòng duy nhất là giá trị \(f(l, r)\) lớn nhất thỏa mãn \(r - l + 1 \geq X\).

Constraints

  • \(N \leq 10^5\)
  • \(A[i] \leq 10^5\)
  • \(B[i] \leq 10^5\)
  • \(X \leq N\)

Example

Test 1

Input
3
1
2
3
3
1
2
3
3
Output
1
Note

Ở ví dụ 1, dãy \(A\)\([1, 2, 3]\), dãy \(B\)\([1, 2, 3]\), và \(X = 3\). Chỉ có \(f(1, 3)\) thoả điều kiện \(3 - 1 + 1 = 3\). Do đó, kết quả là \(1\).

Test 2

Input
2
9
5
2
2
1
1
Output
5
Note

Ở ví dụ 2, dãy \(A\)\([9, 5]\), dãy \(B\)\([2, 1]\), và \(X = 1\). Ta có thể chọn \(f(2, 2) = \lfloor 5 / 1 \rfloor = 5\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.