BOI 2007 - The Sound of Silence

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 Thời gian: 5.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trong bản ghi số, âm thanh được biểu diễn bởi một dãy số đo áp suất không khí được lấy ở những thời điểm cách đều nhau. Mỗi giá trị trong dãy được gọi là một mẫu.

Một bước quan trọng trong nhiều bài toán xử lý giọng nói là chia bản ghi thành các đoạn có âm thanh, ngăn cách bởi khoảng lặng. Để tránh chia thành quá ít hoặc quá nhiều đoạn, ta định nghĩa một khoảng lặng là dãy gồm \(m\) mẫu liên tiếp mà hiệu giữa giá trị lớn nhất và nhỏ nhất không vượt quá ngưỡng \(c\).

Hãy tìm tất cả khoảng lặng trong bản ghi gồm \(n\) mẫu.

Dữ liệu vào

Dòng đầu chứa ba số nguyên \(n\), \(m\), \(c\): số mẫu của bản ghi, độ dài cần có của một khoảng lặng và mức nhiễu tối đa cho phép.

Dòng thứ hai chứa \(n\) số nguyên \(a_i\), là các mẫu theo thứ tự thời gian.

Dữ liệu ra

In ra mọi chỉ số \(i\) thỏa mãn

\[ \max(a_i, \ldots, a_{i+m-1}) - \min(a_i, \ldots, a_{i+m-1}) \le c. \]

Các chỉ số được in theo thứ tự tăng dần, mỗi chỉ số trên một dòng. Nếu không có khoảng lặng nào, in ra NONE.

Ràng buộc

\[ 1 \le n \le 1\,000\,000, \]
\[ 1 \le m \le 10\,000, \]
\[ 0 \le c \le 10\,000, \]
\[ 0 \le a_i \le 1\,000\,000. \]

Ví dụ

Ví dụ 1

Input
7 2 0
0 1 1 2 3 2 2
Output
2
6

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: