Bài kiểm tra số 2 - k1948g2 - đề 4
Cuộc chiến với rồng (kỹ thuật sắp xếp - tìm kiếm)
Nộp bàiPoint: 4
Kirito đang bị mắc kẹt ở cấp độ của MMORPG mà anh ấy đang chơi hiện tại. Để tiếp tục trò chơi, anh ta phải đánh bại tất cả n con rồng sống ở cấp độ này. Kirito và những con rồng có sức mạnh được biếu thị bằng một số nguyên. Trong cuộc đọ sức giữa hai đối thủ, kết quả của cuộc đọ sức được quyết định bởi sức mạnh của họ. Ban dầu, sức mạnh của Kirito băng s.
Nếu Kirito bắt đầu đầu tay đôi với rồng thứ i (1 <= i <= n) và sức mạnh của Kirito không lớn hơn sức mạnh của rồng có sức mạnh là xi thì Kirito thua trận đấu và chết. Nhưng nếu sức mạnh của Kirito lớn hơn sức mạnh của con rồng thì anh ta sẽ đánh bại con rồng và được tăng thêm sức mạnh theo là yi
Kirito có thế chiến đấu với những con rồng theo bất kỳ thứ tự nào. Xác định xem liệu anh ta có thế chuyến sang cấp độ tiếp theo của trò chơi hay không, tức là đánh bại tất cả những con rồng mà không bị thua một làn nào.
Định dạng đầu vào:
Dòng đầu tiên chứa hai số nguyên được phân tách băng dấu cách n và s (1 ≤ s ≤ 10^6, 1 ≤ n ≤ 10^5).
Sau đó n dòng tiếp theo: dòng thứ i chứa các số nguyên được phân tách băng dấu cách là xi và yi (1 <= xi <= 10^4, 0 <= yi <= 10^4) - sức mạnh của con rồng thứ i và sức mạnh được tăng thêm khi đánh bại nó.
Ràng buộc:
1 <= s <= 10^6; 1 <= n <= 10^5
1 <= xi <= 10^4; 1 <= yi <= 10^4
Input:
2 2
1 99
100 0
Output:
YES
Tổng các số dương liên tiếp lớn nhất
Nộp bàiPoint: 3
Nhập vào một mảng các số nguyên A có N phần tử, in ra tổng giá trị các số dương liên tiếp lớn nhất.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
10
5 1 4 1 3 -2 1 2 -3 10
Output 01:
14
Input 02:
10
5 1 4 1 3 -2 1 2 -3 20
Output 02:
20
Job Scheduling (tham lam)
Nộp bàiPoint: 3
Cho hệ gồm N hành động. Mỗi hành động được biểu diễn như một bộ đôi tương ứng với thời gian bắt đầu và thời gian kết thúc của mỗi hành động. Hãy tìm phương án thực hiện nhiều nhất các hành động nhất có thể, biết rằng 2 hành động phải được thực hiện một cách độc lập. 2 hành động được gọi là độc lập nếu thời gian kết thúc của hành động thứ nhất nhỏ hơn thời gian bắt đầu của hành động thứ 2.
Đầu vào: Dòng đầu tiên là số nguyên dương N; N dòng tiếp theo chứa thời gian bắt đầu và kết thúc của N hành động;
Ràng buộc: 1<=N<=10^6;1<=Start[i]<=End[i]<=10^7
Đầu ra: In ra số lượng hành động nhiều nhất có thể thực hiện.
Input:
16
1 5
2 7
3 7
5 7
6 7
10 12
10 13
1 3
7 8
9 14
5 6
9 10
3 5
8 13
1 6
3 6
Output:
4