KOI TST 2026 - Wonderful Interval 2

Xem PDF



Dạng bài
Ngôn ngữ cho phép
C++
Điểm: 2600 (p) Thời gian: 4.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Đề bài

Youngwoo có hai mảng số nguyên \(A,B\) cùng độ dài \(N\), trong đó \(A[i]\le B[i]\) với mọi \(i\).

Một đoạn \([l,r]\) được gọi là tuyệt vời nếu có thể biến mảng

\[ [A[l],\ldots,A[r]] \]

thành

\[ [B[l],\ldots,B[r]] \]

bằng cách lặp lại thao tác sau. Với mảng hiện tại \(X=[X[0],\ldots,X[r-l]]\), chọn hai chỉ số phân biệt \(i,j\) sao cho \(X[i]=X[j]\), rồi tăng \(X[i]\) thêm \(1\).

\(Q\) truy vấn. Truy vấn thứ \(j\) hỏi đoạn \([L[j],R[j]]\) có tuyệt vời hay không.

Yêu cầu cài đặt

C++
vector<int> array_operation(
    vector<int> A,
    vector<int> B,
    vector<int> L,
    vector<int> R
);

Hàm phải trả về mảng \(S\) độ dài \(Q\). S[j] bằng \(1\) nếu đoạn được hỏi là tuyệt vời, ngược lại bằng \(0\). Hàm được gọi đúng một lần và chương trình nộp không được thực hiện thao tác vào/ra.

Ràng buộc

  • \(1\le N,Q\le 250\,000\).
  • \(1\le A[i]\le B[i]\le 10^9\).
  • \(0\le L[j]\le R[j]\le N-1\).

Phân nhóm

Nhóm Điểm Ràng buộc bổ sung
1 9 \(N,Q\le 100\)\(B[i]\le 100\).
2 7 \(N,Q\le 2\,000\)\(A[i]=1\).
3 16 \(A[i]=1\).
4 10 \(N,Q\le 2\,000\).
5 4 \(B[i]\le 2\).
6 13 \(B[i]\le 100\).
7 31 \(B[i]\le 250\,000\).
8 10 Không có ràng buộc bổ sung.

Grader mẫu

Grader mẫu đọc \(N,Q\), tiếp theo là \(N\) dòng A[i] B[i], rồi \(Q\) dòng L[j] R[j]. Grader in mảng kết quả trên một dòng.

Ví dụ 1

Input
4 3
2 2
1 1
1 3
2 3
0 1
0 3
1 3
Output
1 1 0

Ví dụ 2

Input
5 5
1 2
2 3
1 1
2 4
1 2
0 2
0 4
1 3
1 4
2 3
Output
1 1 0 1 0

Nguồn: Kỳ thi tuyển chọn đội tuyển IOI Hàn Quốc 2026 - Vòng 1, giấy phép CC BY-NC-SA 4.0.

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: