Chuyến đi Saint Petersburg

Đề bài

Mô tả

Bạn đang lên kế hoạch cho chuyến đi tới Saint Petersburg. Mỗi ngày ở lại trong thành phố bạn phải tiêu tốn k rúp. Nếu ngày tới là L và ngày về là R (LR), tổng chi phí của chuyến đi là k·(RL+1) rúp.

Để bù lại chi phí, bạn có thể nhận làm các dự án ngay tại Saint Petersburg. Có n dự án, dự án thứ i kéo dài từ ngày li đến ngày ri (bao gồm cả hai đầu mút). Nếu tham gia dự án i, bạn phải có mặt ở Saint Petersburg trong toàn bộ khoảng thời gian đó (tức là LliRri), và sẽ nhận về pi rúp khi hoàn thành.

Bạn có thể nhận bao nhiêu dự án tuỳ ý, kể cả các dự án có thời gian chồng nhau, mà không bị giới hạn năng lực.

Hãy chọn ngày tới L, ngày về R và tập dự án S sao cho:

  • RL;
  • Mọi dự án sS đều thoả LlsRrs;
  • Tổng lợi nhuận sSpsk·(RL+1) là một số dương và đạt giá trị lớn nhất có thể.

Nếu không thể có chuyến đi với lợi nhuận dương, in ra số 0.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk (1n2·105, 1k1012).
  • n dòng tiếp theo, dòng thứ i chứa ba số nguyên li, ri, pi (1liri2·105, 1pi1012).

Dữ liệu ra

  • Nếu không thể đạt được lợi nhuận dương, in ra một dòng duy nhất chứa số 0.
  • Ngược lại, in ra hai dòng:
    • Dòng đầu chứa bốn số nguyên p, L, R, m — lợi nhuận lớn nhất, ngày tới, ngày về và số dự án được chọn.
    • Dòng thứ hai chứa m số nguyên phân biệt là chỉ số các dự án được chọn (theo thứ tự bất kỳ).
  • Nếu có nhiều phương án cùng đạt lợi nhuận lớn nhất, in ra một phương án bất kỳ.

Ràng buộc

  • 1n2·105
  • 1k1012
  • 1liri2·105
  • 1pi1012

Ví dụ

Input Output Giải thích
4 5
1 1 3
3 3 11
5 5 17
7 7 4
13 3 5 2
2 3
Chọn L=3, R=5, chi phí 5·3=15. Tham gia dự án 2 (p=11) và dự án 3 (p=17), tổng thu 28. Lợi nhuận =2815=13.
1 3
1 2 5
0 Chỉ có một dự án dài 2 ngày trả 5 rúp, trong khi chi phí tối thiểu là 3·2=6. Không có phương án nào có lợi nhuận dương.
4 8
1 5 16
2 4 9
3 3 24
1 5 13
22 1 5 4
1 2 3 4
Chọn L=1, R=5, chi phí 8·5=40. Cả 4 dự án đều nằm trong khoảng, tổng thu 16+9+24+13=62. Lợi nhuận =6240=22.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0