trang chủ / đề bài / borrowrm

Mượn Phòng Học

Đề bài

Mô tả

Trường Hogwarts có N ngày trong học kỳ, được đánh số từ 1 đến N. Vào ngày thứ i, trường có ri phòng học trống có thể cho mượn.

Có M giáo sư lần lượt gửi yêu cầu mượn phòng. Giáo sư thứ j cần mượn dj phòng học cho mỗi ngày từ ngày sj đến ngày tj (bao gồm cả hai ngày đầu và cuối). Các yêu cầu được xử lý theo thứ tự từ 1 đến M: mỗi yêu cầu chỉ được chấp nhận nếu trong mọi ngày thuộc khoảng [sj,tj], tổng số phòng đã được phân bổ (bao gồm cả yêu cầu hiện tại) không vượt quá số phòng trống.

Hãy tìm yêu cầu đầu tiên không thể được đáp ứng. Nếu tất cả các yêu cầu đều được đáp ứng, in ra 0.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên N và M — số ngày trong học kỳ và số yêu cầu mượn phòng.
  • N dòng tiếp theo, dòng thứ i chứa một số nguyên ri — số phòng trống vào ngày thứ i.
  • M dòng tiếp theo, dòng thứ j chứa ba số nguyên dj, sj, tj — số phòng cần mượn, ngày bắt đầu và ngày kết thúc của yêu cầu thứ j.

Dữ liệu ra

In ra một số nguyên duy nhất:

  • Nếu tất cả các yêu cầu đều được đáp ứng, in 0.
  • Ngược lại, in số thứ tự (đánh số từ 1) của yêu cầu đầu tiên không thể được đáp ứng.

Ràng buộc

  • 1≤N,M≤106
  • 1≤ri≤109
  • 1≤dj≤109
  • 1≤sj≤tj≤N

Ví dụ

Input Output Giải thích
4 3
2
5
4
3
2 1 3
3 2 4
4 1 2
2 Yêu cầu 1: mượn 2 phòng ngày 1-3. Phòng còn lại: [0, 3, 2, 3]. Yêu cầu 2: mượn 3 phòng ngày 2-4. Ngày 3 chỉ còn 2 phòng nhưng cần 3, nên yêu cầu 2 không thể đáp ứng.
3 2
5
5
5
2 1 2
2 2 3
0 Yêu cầu 1: mượn 2 phòng ngày 1-2. Còn: [3, 3, 5]. Yêu cầu 2: mượn 2 phòng ngày 2-3. Còn: [3, 1, 3]. Tất cả đều được đáp ứng.

Ghi chú

Trong ví dụ 1, giáo sư McGonagall mượn 2 phòng cho ngày 1-3, sau đó giáo sư Flitwick muốn mượn 3 phòng cho ngày 2-4. Vào ngày 3, chỉ còn 4−2=2 phòng trống, không đủ cho 3 phòng mà giáo sư Flitwick yêu cầu. Do đó yêu cầu thứ 2 là yêu cầu đầu tiên bị từ chối.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0