Điểm số (pair)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Kết thúc kỳ thi giữa kì gồm hai môn Tin và Thể dục, Nhà trường muốn thống kê xem học sinh này có tổng điểm đứng thứ mấy trong trường (theo thứ tự giảm dần). Do số liệu thống kê rất lớn mà máy tính của nhà trường đang đi bảo trì nên hiệu trưởng nhờ các bạn viết chương trình thực hiện giúp


Định dạng đầu vào:

• Dòng 1: Chứa số n là số học sinh (n <= 100)

• N dòng tiếp theo mỗi dòng gồm: Tên viết tắt của học sinh và hai số x, y là điểm của hai môn Tin và Thể dục của học sinh đó


Định dạng đầu ra: In ra tên và thứ tự xếp hạng của học sinh đó theo thứ tự tổng điểm cao nhất đứng thứ 1...

Input:
6
NA 3 5
MT 6 7
TB 5 5
MH 8 8
YN 6 2
PQ 4 3
Output:
MH 1
MT 2
TB 3
NA 4
YN 5
PQ 6

Chênh lệch (pair)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Trong một bữa tiệc, mỗi người đều có bạn nhảy riêng của mình. Giả sử bạn nam có chiều cao là x, bạn nữ có chiều cao là y thì |x-y| được xem là độ chênh lệch chiều cao. Ban tổ chức muốn tìm độ chênh lệch xuất hiện nhiều nhất là bao nhiêu (lặp lại nhiều nhất), sau đó hãy in ra chiều cao của những cặp có cùng chênh lệch xuất hiện nhiều nhất đó theo thứ tự dữ liệu nhập vào. Lưu ý nếu tồn tại nhiều độ chênh lệch có cùng tần suất thì chọn độ chênh lệch nhỏ nhất.


Định dạng đầu vào:

• Dòng 1: Chứa số n là số cặp nhảy (n <= 1000)

• N dòng tiếp theo mỗi dòng là hai số x, y là chiều cao của bạn nam và bạn nữ


Input:
4
5 6
7 8
5 3
9 10
Output:
1
5 6
7 8
9 10

Xếp tiền (pair)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Doanh thu trong năm của một công ty gồm số tiền đầu tư và số lãi, công ty muốn bạn sắp xếp doanh thu tăng dần theo số tiền lãi. Nếu số tiền lãi bằng nhau thì sắp giảm dần theo số tiền đầu tư. Hãy giúp công ty thực hiện công việc trên


Định dạng đầu vào:

Dòng 1: Chứa số n là số lượng doanh thu và tiền lãi (n <= 100)

N dòng tiếp theo mỗi dòng là hai số là số tiền đầu tư và lãi

Đầu ra: In ra DS doanh thu và tiền lãi theo yêu cầu đầu bài


Input:
4
100 200
130 180
450 300
210 300
Output:
130 180
100 200
450 300
210 300

Đảo chữ (pair)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Bé Bin mới học về tên của các đồ vật gồm hai từ như: tủ lạnh, xe đạp, máy bay,... để thử thách bé Bin, anh Tí đã nghĩ ra câu đố rằng hãy đảo ngược tên những đồ vật được cho trong thời gian 1s. "tủ lạnh" thành "lạnh tủ", "xe đạp" thành "đạp xe"


Định dạng đầu vào:

Dòng 1: Chứa số n là số lượng tên đồ vật mà anh Tí đưa ra (n <= 50); N dòng tiếp theo mỗi dòng là tên một đồ vật (gồm hai từ, mỗi từ không quá 5 kí tự, viết in thường, không dấu)


Định dạng đầu ra: Là đáp án của bài toán


Input:
3
tu lanh
xe dap
nha may
Output:
lanh tu
dap xe
may nha

Cuộc chiến với rồng (kỹ thuật sắp xếp - tìm kiếm)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

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 hoặc bằng 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ìm cặp tạo tổng bằng K

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho n cặp số (x, y) và một số K.

Hãy đếm xem có bao nhiêu cặp khác nhau trong danh sách mà tổng của chúng (x1 + y1 + x2 + y2) = K.


Input:

Dòng 1: n K

n dòng: x y

Output: Một số nguyên — số lượng cặp thỏa mãn.


Ví dụ:

Input 1:
3 10
2 3
1 4
5 0
Output 1:
3
Input 2:
4 8
1 2
3 2
4 0
2 3
Output 2:
2

Cặp phủ nhau

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mỗi cặp (l, r) biểu diễn một đoạn [l, r] trên trục số.

Hãy đếm xem có bao nhiêu cặp đoạn giao nhau ít nhất tại một điểm.


Input:

Dòng 1: n

n dòng: l r (l ≤ r)

Output: Số lượng cặp đoạn giao nhau.


Input 1:
3
1 3
2 5
6 8
Output 1:
1
Input 2:
4
1 4
2 3
3 6
5 7
Output 2:
4

Kiểm tra cặp đối xứng

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Nhập n cặp (x, y).

Một cặp (x, y) được gọi là đối xứng nếu trong danh sách cũng có (y, x).

Hãy đếm xem có bao nhiêu cặp đối xứng (mỗi cặp chỉ tính một lần).


Input:

Dòng 1: n

n dòng: x y

Output: Số lượng cặp đối xứng.


Input 1:
4
1 2
2 1
3 4
5 6
Output 1:
1
Input 2:
5
1 2
2 3
3 1
2 1
1 3
Output 2:
2

Gom nhóm theo phần tử đầu

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Nhập n cặp (a, b). Với mỗi giá trị a, hãy tính tổng tất cả b tương ứng.

Sau đó in ra các cặp (a, tổng_b) theo thứ tự tăng dần của a.


Input:

Dòng 1: n

n dòng: a b

Output: Danh sách các cặp (a, tổng_b) mỗi dòng 2 số.


Input 1:
5
1 2
2 3
1 5
3 1
2 7
Output 1:
1 7
2 10
3 1
Input 2:
4
4 4
1 1
1 3
4 2
Output 2:
1 4
4 6

Cặp gần nhất

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho n cặp số (x, y). Hãy tìm hai cặp khác nhau sao cho khoảng cách giữa chúng là nhỏ nhất, với khoảng cách giữa hai cặp (x1, y1) và (x2, y2) được tính là:

|x1 - x2| + |y1 - y2|

In ra giá trị khoảng cách nhỏ nhất.


Input:

Dòng 1: số nguyên n

n dòng tiếp theo: hai số nguyên x y.

Output: Một số nguyên — khoảng cách nhỏ nhất.


Ví dụ:

Input 1:
3
1 2
2 3
10 10
Output 1:
2
Input 2:
4
0 0
1 0
3 3
2 1
Output 2:
1

Quản lý DS học sinh giỏi tin học

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho thông tin của n (n <= 10^6) học sinh tham gia kỳ thi học sinh giỏi Tin học.

Mỗi học sinh gồm 3 thông tin:

• Tên (chỉ là 1 từ, không có khoảng trắng).

• Điểm trắc nghiệm (số thực từ 0 đến 10).

• Điểm thực hành (số thực từ 0 đến 10).

Điểm trung bình (ĐTB) của một học sinh được tính theo công thức:

ĐTB = 0.6 x Điểm trắc nghiệm + 0.4 x Điểm thực hành

Yêu cầu:

• Sắp xếp danh sách học sinh theo ĐTB giảm dần.

• Nếu có nhiều học sinh có cùng ĐTB, thì sắp xếp theo tên (theo thứ tự từ điển, tăng dần).

• In ra danh sách học sinh sau khi sắp xếp, gồm: họ tên, điểm trắc nghiệm, điểm thực hành, điểm trung bình (lấy chính xác 2 chữ số thập phân).


Dữ liệu vào (Input)

• Dòng đầu tiên: số nguyên n (số lượng học sinh, 1 ≤ n ≤ 10^6).

• Trong n dòng tiếp theo, mỗi dòng gồm: họ tên, điểm trắc nghiệm, điểm thực hành

Dữ liệu ra (Output)

In ra danh sách học sinh sau khi sắp xếp, mỗi học sinh một dòng, gồm: Họtên Điểmtrắcnghiệm Điểmthựchành Điểmtrung_bình

Trong đó Điểmtrungbình được làm tròn đến 2 chữ số thập phân.


Input:
3
Bao 8 9
Tuan 9 8
An 8 9
Output:
Tuan 9.00 8.00 8.60
An 8.00 9.00 8.40
Bao 8.00 9.00 8.40

Đèn trung thu

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Trên một con đường được chia thành các đoạn thắng như trên trục số. Trên con đường đó có n nhà treo đèn lồng đón trung thu. Nhà thứ i có treo đèn bắt đầu từ vị trí si đến vị trí di. Tổ dân phố muốn tính tổng đoạn đường được bao phủ bởi đèn lồng trên con phố trên (chú ý: hai nhà có thể treo đèn lồng trùng nhau trên một đoạn đường). Em hãy giúp tố dân phố tính tống số đoạn đường được bao phủ bởi đèn lồng.


Input:

• Dòng đầu là số n (1 ≤ n ≤ 10^6)

• n dòng tiếp theo, dòng thứ i chứa hai số si và di (0 ≤ si ≤ di ≤ 2 * 10^9)

Output: Ghi ra số nguyên duy nhất thỏa mãn yêu cầu đề bài


Input:
3
1 3
2 4
3 5
Output:
4
Input:
3
1 2
4 5
5 8
Output:
5

Phân tích số nguyên chẵn

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một số nguyên dương chẵn n. Hãy liệt kê tất cả các cách phân tích n thành tổng của hai số a và b sao cho: a, b nguyên tố và a+b=n (a <= b)


Input: Gồm một số nguyên dương chẵn n duy nhất (n ≤ 1000).

Output:

• Dòng thứ nhất chứa số k - số lượng cách phân tích khác nhau.

• K dòng tiếp theo, mỗi dòng chứa hai số a và b thỏa mãn yêu cầu đề bài. Các cặp số (a, b) có thế được in theo thứ tự bất kì.


Input:
10
Output:
2
3 7
5 5

Đổi tiền

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Minh đi mua sắm tại cửa hàng SS. Cửa hàng có các mệnh giá tiền: 1$, 5$, 10$, 50$, 100$, 500$. Minh mua một số mặt hàng trong cửa hàng và trả số tiền là 1000$. Nhiệm vụ của bạn là tìm ra cách trả lại tiền thừa cho Minh bằng số lượng tờ tiền ít nhất.


Input:

Dữ liệu đầu vào là nhiều dòng, trong đó dòng đầu tiên biểu thị số lượng lần mua. N dòng tiếp theo mỗi dòng biểu thị duy nhất một số nguyên N (1 ≤ N ≤ 999) là tổng giá trị của các mặt hàng Minh đã mua.


Output:

Dữ liệu đầu ra là các dòng, mỗi dòng là một số nguyên duy nhất, biểu thị số lượng tờ tiền ít nhất mà cửa hàng phải trả lại.


Giải thích:

Với 380 cửa hàng cần trả lại 620$ bằng cách sử dụng 1 tờ 500$, 1 tờ 100$, và 2 tờ 10$. Nên kết quả là 4

Ví dụ :

Input:
2
380
1
Output:
4
15

Đọc sách

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Có n quyển sách, và Kotivalo cùng Justiina sẽ đọc hết tất cả chúng. Với mỗi quyển sách, bạn biết thời gian cần để đọc hết nó.

Cả hai sẽ đọc toàn bộ mỗi quyển sách từ đầu đến cuối, nhưng không thể đọc cùng một quyển cùng lúc. Nhiệm vụ của bạn là xác định tổng thời gian tối thiểu cần thiết để cả hai đọc hết tất cả các quyển sách.


Input:

Dòng đầu tiên chứa một số nguyên n — số lượng quyển sách.

Dòng thứ hai chứa n số nguyên t₁, t₂, …, tₙ — thời gian đọc từng quyển sách.


Output:

In ra một số nguyên: tổng thời gian tối thiểu cần thiết để đọc hết tất cả các quyển sách.


Ràng buộc:

~1 \le n \le 2 \cdot 10^5~

~1 \le t_i \le 10^9~

Ví dụ :

Input:
3
2 8 3
Output:
16

Minimize!!

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Bạn được cho hai số nguyên a và b (a ≤ b). Xét tất cả các giá trị nguyên c thỏa mãn a ≤ c ≤ b, hãy tìm giá trị nhỏ nhất của biểu thức sau:

(c-a)+(b-c)


Dữ liệu vào:

Dòng đầu tiên chứa số nguyên t (1 ≤ t ≤ 55) - số lượng bộ test.

Mỗi bộ test gồm hai số nguyên a và b (1 ≤ a ≤ b ≤ 10).


Dữ liệu ra:

Với mỗi bộ test, in ra một số nguyên là giá trị nhỏ nhất của biểu thức

Ví dụ :

Input:
3
1 2
3 10
5 5
Output:
1
7
0

Biến đổi về 1 - Product

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Bạn được cho một dãy số gồm n số nguyên a1 , a2, ..., an. Một thao tác được ghi nhận khi bạn thực hiện tăng hoặc giảm giá trị của bất kỳ số ai nào trong dãy lên 1 đơn vị (tức là ai = ai + 1 hoặc ai = ai - 1) và bạn có thể lặp đi lặp lại thao tác này vô số lần.

Thầy giáo muốn bạn hãy thực hiện các thao tác tăng giảm giá trị đó để thu được một dãy số mới sao cho tích của các phần tử trong dãy số mới này bằng 1.

Ví dụ: với n = 3 và dãy số gồm 3 phần tử là [1,-3,0] chúng ta có thể thực hiện tăng 2 lần số -3 (tức a2) đế trở thành - 1 và giảm 1 lần số 0 (tức a3) đế trở thành -1. Lúc này ta sẽ thu được dãy số mới là [1, -1, - 1] và tích các phần tử trong dãy số này bằng 1. Như vậy, bạn sẽ mất tông cộng 3 thao tác đề thực hiện ba lần tăng/giảm giá trị. Có nhiều cách khác nhau để thực hiện việc tăng giảm để dãy mới thu được có tích bằng 1, tuy nhiên sẽ không tồn tại cách nào ít hơn ba thao tác.

Yêu cầu: Cho dãy số a gồm n số nguyên, hãy tìm ra chi phí ít nhất để biến đổi dãy số a đã cho trở thành dãy mới với tích các phần tử trong dãy bằng 1.


Dữ liệu vào:

Dòng đầu là số nguyên dương n.

Dòng thứ 2 gồm n số nguyên a; (-10^9 ≤ ai ≤ 10^9) với mỗi số được cách nhau bởi một dấu cách.

Dữ liệu ra:

Chi phí ít nhất để biến đổi dãy số đã cho để trở thành dãy có tích các phần tử bằng 1.


Ràng buộc:

Có 50% số test của bài có 0 < n ≤ 100

Có 50% số test còn lại của bài có 0 < n ≤ 10^5


Ví dụ:

Input 01:
2
-1 1
Output 01:
2
Input 02:
5
-5 -3 5 3 0
Output 02:
13