Tối đa phần thưởng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Đề bài

Cho n nhiệm vụ. Mỗi nhiệm vụ được cho:

f: thời gian cần để hoàn thành nhiệm vụ.

d: thời hạn để hoàn thành nhiệm vụ đó.

Bạn có thể chọn thứ tự thực hiện các công việc.

Phần thưởng cho một nhiệm vụ = deadline - thời điểm bạn hoàn thành nhiệm vụ đó.

Thời gian bắt đầu là 0.

Bạn phải hoàn thành tất cả công việc, kể cả khi bị trễ deadline.

Hỏi: phần thưởng tối đa có thể nhận được nếu làm các nhiệm vụ theo thứ tự tối ưu.

Input

Dòng đầu tiên: số nguyên n (1 ≤ n ≤ 2·105) — số nhiệm vụ.

N dòng tiếp theo, mỗi dòng gồm hai số nguyên dương: f (thời gian hoàn thành) và d (deadline) của nhiệm vụ (1 ≤ f, d ≤ 106).

Output

Một số nguyên duy nhất: phần thưởng tối đa có thể đạt được.

Sample Input

3
6 10
8 15
5 12

Sample Output

2

Giải thích

Bắt đầu từ thời gian 0:

Làm nhiệm vụ cuối cùng (f=5, d=12): kết thúc lúc 0+5=5 → phần thưởng = 12-5=7

Làm nhiệm vụ đầu tiên (f=6, d=10): kết thúc lúc 5+6=11 → phần thưởng = 10-11=-1

Làm nhiệm vụ thứ hai (f=8, d=15): kết thúc lúc 11+8=19 → phần thưởng = 15-19=-4

Tổng phần thưởng = 7 + (-1) + (-4) = 2


Bình luận

Hãy đọc nội quy trước khi bình luận.


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