Dãy số
Xem dạng PDF
Gửi bài giải
Điểm:
0,30 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho dãy ~A~ gồm ~N~ số nguyên và ~2~ số ~L,R~.
Đếm số cặp chỉ số ~(i,j), i \leq j~ sao cho $$L \leq \sum_{k=i}^{j} A_k \leq R$$
Input
Dòng đầu gồm ~3~ số nguyên dương ~N \leq 10^5,-10^9 \leq L,R \leq 10^9~.
Dòng thứ hai là dãy ~A~ gồm ~N~ số nguyên, ~|A_i| \leq 10^9~.
Output
Một số nguyên duy nhất là số cặp chỉ số thoả mãn.
Sample Input
4 2 4
1 2 3 4
Sample Output
4
Bình luận
Một cách là khác khá là thú vị
Ý tưởng bài này dùng segment tree kết hợp mảng cộng dồn, nén số và binary_search. Như vậy ta nhận xét kết quả bài toán là kết quả của đoạn cnt(r)-cnt(l-1).
Bài này có thể giải theo 2 cách. Cách thứ 2 mình nghĩ dùng chia để trị để làm. Nó mới là ý tưởng thôi. Còn viết như nào thì tự mà viết
code tham khảo:
cảm ơn bạn
non
hii
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
hi bro
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.