Bài 3 - CNTF

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: 1400 Thời gian: 1.0s Bộ nhớ: 256M Input: CNTF.inp Output: CNTF.out

Để đối phó với tình trạng biến đổi khí hậu đang ảnh hưởng trực tiếp đến mùa màng và đời sống dân sinh, một trạm quan trắc môi trường đã tiến hành thu thập dữ liệu nhiệt độ trung bình hàng ngày trong suốt một khoảng thời gian dài. Trong \(n\) ngày liên tiếp, nhiệt độ đo được ghi nhận lại thành một chuỗi số nguyên \(a_1, a_2, \dots, a_n\).

Các chuyên gia khí tượng định nghĩa trọng số chênh lệch nhiệt độ của một giai đoạn kéo dài từ ngày thứ \(i\) đến ngày thứ \(j\) (\(1 \leq i \leq j \leq n\)) là \(F(i, j) = \max(a_i, a_{i+1}, \dots, a_j) - \min(a_i, a_{i+1}, \dots, a_j)\). Một giai đoạn được đánh giá là có “biến động thời tiết khắc nghiệt” nếu chênh lệch giữa nhiệt độ cao nhất và thấp nhất trong giai đoạn đó vượt qua hoặc bằng một ngưỡng rủi ro \(K\) cho trước.

Yêu cầu: Cho biết ngưỡng rủi ro \(K\) và chuỗi dữ liệu nhiệt độ \(n\) ngày. Hãy đếm xem có bao nhiêu giai đoạn \((i, j)\) (\(i \leq j\)) được xếp loại là có biến động thời tiết khắc nghiệt (tức là \(F(i, j) \ge K\)).

Input

  • Dòng đầu tiên gồm hai số nguyên dương \(n\)\(K\) (\(K \le 10^9\)), phân tách nhau bởi khoảng trắng.
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(|a_i| \le 10^9\)) thể hiện nhiệt độ của các ngày. Các số được ghi cách nhau bởi khoảng trắng.

Output

  • Dòng duy nhất chứa một số nguyên là số lượng các giai đoạn (cặp chỉ số \((i, j)\)) thỏa mãn điều kiện có mức biến động nhiệt độ \(F(i, j) \ge K\).

Example

Test 1

Input
4 2
1 3 2 4
Output
5
Note

Ngưỡng rủi ro \(K = 2\). Các giai đoạn \((i, j)\) có chênh lệch nhiệt độ \(\ge 2\) bao gồm:

  • \((1, 2)\): Tập \(\{1, 3\}\)\(\max - \min = 3 - 1 = 2 \ge 2\).
  • \((1, 3)\): Tập \(\{1, 3, 2\}\)\(\max - \min = 3 - 1 = 2 \ge 2\).
  • \((1, 4)\): Tập \(\{1, 3, 2, 4\}\)\(\max - \min = 4 - 1 = 3 \ge 2\).
  • \((2, 4)\): Tập \(\{3, 2, 4\}\)\(\max - \min = 4 - 2 = 2 \ge 2\).
  • \((3, 4)\): Tập \(\{2, 4\}\)\(\max - \min = 4 - 2 = 2 \ge 2\).

Tổng cộng có 5 giai đoạn thỏa mãn điều kiện.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n \le 100\).
  • Subtask \(2\) (\(30\%\) số điểm): \(n \le 1000\).
  • Subtask \(3\) (\(40\%\) số điểm): \(n \le 10^5\).

Bình luận

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

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

Kỳ thi: