Có N hạt xốp, hạt thứ i có khối lượng W_i, được thả lần lượt xuống một ống nước đặc biệt được thiết kế sao cho tại mỗi thời điểm chỉ có một hạt xốp nhẹ nhất nổi lên trên bề mặt. Trước mỗi lần thả, hạt xốp đang nổi trên bề mặt sẽ bị ngấm nước và tăng gấp đôi khối lượng. Hỏi sau khi thả hạt xốp cuối cùng vào ống thì khối lượng xốp tăng so với tổng khối lượng ban đầu là bao nhiêu ? Dữ liệu: Vào từ file văn bản SPONGE.IN Dòng 1: Số nguyên dương N (N≤105 ) Dòng 2: N số nguyên dương W_1,…W_N (W_i≤100 ∀i=1..N) Kết quả: Ghi ra file văn bản SPONGE.OUT một số duy nhất là đáp án của bài toán Ví dụ: SPONGE.IN SPONGE.OUT 3 2 1 3 3 Bài tập 2: PILOT HT AIRLINE là một hãng hàng không danh tiếng ở Việt Nam, tuy nhiên, để tồn tại trong cơn bão suy thoái kinh tế, Ban giám đốc quyết định giảm chi phi tiền lương cho phi công càng nhiều càng tốt. HT airline có tất cả N phi công (N là số chẵn), các phi công được đánh số từ 1 đến N (Phi công 1 là phi công trẻ nhất, phi công i là phi công có tuổi cao thứ i,… phi công n là phi công cao tuổi nhất). HT airline cần chính xác phi hành đoàn, mỗi phi hành đoàn gồm 2 phi công (một lái chính và một lái phụ), lái chính phải nhiều tuổi hơn lái phụ. Hợp đồng mà công ty kí với các phi công có 2 điều khoản rõ ràng: tiền lương khi là lái chính và tiền lương khi là lái phụ. Rõ ràng, đối với 1 phi công, tiền lương lái chính bao giờ cũng cao hơn tiền lương khi lái phụ. Tuy nhiên, với một phi hành đoàn, có thể tiền lương của lái chính lại thấp hơn lái phụ.
MỤC LỤC Bài tập 1: Thả xốp 2 Bài tập 2: PILOT Bài tập 3: BOCSOI13 Bài tập 4: TIME Bài tập 5: COOKIES Bài tập 6: Median Bài tập 7: Multiplication .6 Bài tập 8: Stadium Bài tập 9: HOSTEL 10 Bài tập 10: ABD 11 Bài tập 11: POWERUP CHUYÊN ĐỀ PRIORITY QUEUE (HÀNG ĐỢI ƯU TIÊN) Link sol, test, code chuyên đề: đính kèm Bài tập 1: Thả xốp Có N hạt xốp, hạt thứ i có khối lượng W i , thả xuống ống nước đặc biệt thiết kế cho thời điểm có hạt xốp nhẹ lên bề mặt Trước lần thả, hạt xốp bề mặt bị ngấm nước tăng gấp đôi khối lượng Hỏi sau thả hạt xốp cuối vào ống khối lượng xốp tăng so với tổng khối lượng ban đầu ? Dữ liệu: Vào từ file văn SPONGE.IN Dòng 1: Số nguyên dương N ( N ≤10 ) Dòng 2: N số nguyên dương W , … W N ( W i ≤ 100 ∀ i=1 N ) Kết quả: Ghi file văn SPONGE.OUT số đáp án tốn Ví dụ: SPONGE.IN SPONGE.OUT 3 Bài tập 2: PILOT HT AIRLINE hãng hàng không danh tiếng Việt Nam, nhiên, để tồn bão suy thoái kinh tế, Ban giám đốc định giảm chi phi tiền lương cho phi cơng nhiều tốt HT airline có tất N phi công (N số chẵn), phi công đánh số từ đến N (Phi công phi công trẻ nhất, phi công i phi cơng có tuổi cao thứ i,… phi cơng n N phi công cao tuổi nhất) HT airline cần xác phi hành đồn, phi hành đồn gồm phi cơng (một lái lái phụ), lái phải nhiều tuổi lái phụ Hợp đồng mà cơng ty kí với phi cơng có điều khoản rõ ràng: tiền lương lái tiền lương lái phụ Rõ ràng, phi cơng, tiền lương lái cao tiền lương lái phụ Tuy nhiên, với phi hành đồn, tiền lương lái lại thấp lái phụ Để giảm chi phí trả tiền lương, HT phải xác định cách phân chia tối ưu hành đoàn N phi Bạn giúp HT viết chương trình xác định số tiền tối thiểu để trả lương cho N phi công Dữ liệu: Vào từ file văn PILOT.INP Dòng : Số nguyên dương N , số phi công HT airline (2 ≤ N ≤ 10000; N số chẵn) N dòng tiếp theo, dòng thứ i thông tin phi công i : gồm hai số a c viết cách dấu cách trống, tương ứng tiền lương lái tiền lương lái phụ (1 ≤ a≤ c ≤100 000) Kết quả: Ghi file văn PILOT.OUT số nguyên tiền lương tối thiểu phải trả cho N phi cơng Ví dụ : PILOT.INP 10000 9000 6000 5000 9000 8000 6000 PILOT.OUT 32000 7000 3000 4000 1000 3000 PILOT.INP 5000 4000 9000 11000 7000 8000 6000 PILOT.OUT 33000 3000 1000 7000 5000 3000 Bài tập 3: BOCSOI13 Bước vào tiểu học, Bé Bi cô giáo chủ nhiệm cho làm lớp trưởng Nhân dịp kỷ niệm ngày thành lập trường, Bé Bi tổ chức cho lớp chơi trò chơi sau: Có N đống sỏi xếp thành hàng, đống thứ i có A i viên sỏi Ta ghép hai đống sỏi thành đống chi phí 5% tổng hai đống sỏi Hãy tìm cách ghép N đống sỏi thành đống với chi phí nhỏ Ví dụ: Nếu có đống sỏi với số lượng sỏi 10, 11, 12 13 - Bước 1: Ghép đống 10 11 thành đống có số lượng 21 (chi phí 1.05) - Bước 2: Ghép đống 21 vừa thu với đống 12 thành đống có số lượng 33 (chi phí 1.65) - Bước 3: Ghép đống 33 vừa thu với đống 13 thành đống cuối có số lượng sỏi 46 (chi phí 2.3) - Vậy tổng chi phí 5.00 Tuy nhiên phương án ghép đống tối ưu, có phương án ghép đống thành đống với chi phí nhỏ 4.60 Các bạn tìm giúp Bé Bi phương án chơi tối ưu nhé! Dữ liệu: vào từ file văn BOCSOI13.INP có dạng: Dịng 1: Số nguyên dương N (2 ≤ N ≤ 100.000) số đống sỏi Dòng tiếp theo, ghi N số nguyên dương, tương ứng số lượng sỏi đống Số lượng sỏi không vượt 10.000 Kết quả: Đưa file văn BOCSOI13.OUT số thực chi phí nhỏ phải trả để ghép N đống sỏi thành đống Kết ghi dạng chữ số sau dấu thập phân Ví dụ: BOCSOI13.INP BOCSOI13.OUT 4.60 10 11 12 13 0.10 1 Bài tập 4: TIME Tại hàng pizza Mr Hải Dương có điểm khác biệt với cửa hàng khác, hàng bình thường khách hàng đến trước phục vụ trước, khách hàng đến sau phục vụ sau hàng Pizza Mr Hải Dương phục vụ theo tiêu chí thời gian đợi trung bình khách hàng nhỏ nhất, Anh ta định phục vụ khách hàng trước không phụ thuộc vào khách đến sớm hay muộn Mỗi loại bánh pizza khác cần khoảng thời gian khác để làm bánh Vì có lò nướng bánh nên thời gian nướng bánh pizza Anh ta khơng thể nướng thêm bánh khác Ví dụ: Nếu cửa hàng có khách đến vào thời điểm t 1=0, t 2=1 t 3=2 yêu cầu bánh pizza có thời gian làm bánh l 1=3, l2=9, l3=6 Nếu theo tiêu chí khách đến trước phục vụ trước thời gian chờ đợi ba khách hàng q 1=3, q2=11, q3=16 Như thời gian chờ trung bình (3+11+ 16)/3=10 Đây khơng phải phương án tối ưu theo tiêu chí thời gian chờ trung bình nhỏ Mr Hải Dương lựa chọn phục vụ theo thứ tự khách 1, khách sau khách Khi thời gian chờ ba khách q 1=3, q2=17, q 3=7 Như thời gian chờ trung bình (3+17+ 7)/3=9 Yêu cầu: Bạn giúp Mr Hải Dương tính thời gian chờ trung bình nhỏ Chỉ cần in phần nguyên thời gian chờ trung bình nhỏ Ghi chú: - Thời gian chờ khách hàng độ chênh lệch hai thời điểm: thời điểm khách hàng đến hàng thời điểm khách hàng rời cửa hàng; Mr Hải Dương trước yêu cầu khách hàng, tức đến thời điểm t i, khách hàng i tới cửa hàng Mr Hải Dương biết khách hàng i yêu cầu bánh pizza làm thời gian l i Dữ liệu: Vào từ file văn TIME.INP: Dòng chứa số nguyên dương n ( ≤ n≤ 105 )là số khách hàng; ndòng tiếp theo, dòng thứ i chứa hai số nguyên dương t i , l i (0 ≤ t i ≤10 , ≤l i ≤109 ) mô tả khách hàng i đến hàng vào thời điểm t i bánh khách hàng i cần thời gian làm bánh l i Các số dòng input file ghi cách dấu cách Kết quả: Ghi file văn TIME.OUT số nguyên phần nguyên thời gian chờ trung bình nhỏ Ví dụ: TIME.INP TIME.OUT 03 19 25 03 20 19 26 Bài tập 5: COOKIES Giải thích Thứ tự phục vụ khách hàng 1, khách hàng khách hàng Thời gian chờ trung bình nhỏ là: (3+16+ 6)/3=25 /3=8,33 Thứ tự phục vụ khách hàng 1, khách hàng 4, khách hàng khách hàng Thời gian chờ trung bình nhỏ là: (3+1+17+ 7)/4=28/4=7 HD muốn tất bánh quy anh có độ ≥ K Để làm điều này, Anh làm sau: - Chọn bánh quy có độ nhỏ nhỏ nhì Trộn hai bánh vào nhau, nướng lại thành bánh với độ ¿ ¿ độ nhỏ +2 × độ nhỏ nhì) Anh lặp lặp lại thao tác tất bánh quy có độ ≥ K Bạn cho biết Anh phải nướng lại lần để vậy? Dữ liệu: Vào từ file văn COOKIES.INP - Dòng 1: Hai số nguyên dương n(1 ≤ n ≤106 ) số lượng bánh quy số nguyên K (0 ≤ K ≤10 9) - Dòng chứa n số nguyên a , a2 , … , an (0 ≤ ≤10 6), a i độ bánh quy thứ i Kết quả: Ghi file văn COOKIES.OUT số nguyên số lần nướng lại bánh, ghi -1 đạt tất bánh quy có độ ≥ K Ví dụ: COOKIES.INP 10 12 COOKIES.OUT Giải thích Sau lần nướng 1: 3, 5, 9, 10, 12 Sau lần nướng 2: 9, 10, 12, 13 Bài tập 6: Median Cho dãy số a , a2 , … , an Ta có định nghĩa median dãy số sau: - Nếu độ dài dãy lẻ median¿phần tử dãy sau sort Ví dụ a={1,2,3 } median ¿ - Nếu độ dài dãy chẵn median ¿trung bình cộng hai phần tử dãy sau xếp Ví dụ a={1,2,3,4 } median= 2+3 =2.5 Yêu cầu: Cho n số nguyên, với lần nhập a i bạn phải thực hiện: - Thêm a i vào dãy số - Tính median cho dãy số cập nhật - In median dãy số cập nhật dòng, median in theo định dạng chữ số thập phân sau dấu phẩy Dữ liệu: Vào từ file văn MEDIAN.INP - Dòng 1: số nguyên dương n(1 ≤ n ≤105 ) ndòng tiếp theo, dòng thứ i chứa số nguyên a i(0 ≤a i ≤ 105 ) Kết quả: Ghi file văn MEDIAN.OUT n số nguyên n dòng theo thứ tự median dãy số Ví dụ: MEDIAN.INP MEDIAN.OUT 12.0 12 8.0 5.0 4.5 5.0 6.0 Bài tập 7: Multiplication Giải thích {12} Median = 12.0 {4;12} Median = 8.0 {4;5;12} Median = 5.0 {3;4;5;12} Median = 4.5 {3;4;5;7;8;12} Median = 6.0 Cho dãy số a , a2 , … , an Với số i, bạn cho biết tích ba số hạng lớn nhất, lớn nhì lớn ba số đoạn [1; i] Dữ liệu: Vào từ file văn MULTIPLICATION.INP - Dòng 1: số nguyên dương n(1 ≤ n ≤105 ) - Dòng tiếp theo, chứa dãy số a , a2 , … , an (0 ≤ ≤10 6) Kết quả: Ghi file văn MULTIPLICATION.OUT n dòng, dòng tương ứng với kết yêu cầu Nếu không tồn số lớn nhì lớn thứ ghi -1 Ví dụ: MULTIPLICATION.IN P 12345 MULTIPLICATION.OU T -1 -1 24 60 Bài tập 8: Stadium Sân vận động Lạch Tray tổ chức trận chung kết Champion league MU Barce, M hàng ghế trống (đánh số từ đến M ), hàng ghế i cịn trống x i ghế Hiện xếp hàng ngồi cổng sân vận động Lạch Tray có n người mua vé, người đến lượt mua vé ban tổ chức đưa (khơng có lựa chọn) Giá vé quy định sau: thời điểm mua vé, nhận vé hàng i giá vé số ghế trống hàng i Yêu cầu: bạn giúp BTC bán nhiều tiền nhất? Dữ liệu: Vào từ file văn STADIUM.INP - Dòng 1: Hai số nguyên dương m , n(1≤ m , n≤ 106 ) Dòng tiếp theo, chứa dãy số x , x , … , x m (0 ≤ xi ≤10 , x 1+ x2 +…+ xm ≥ n) Kết quả: Ghi file văn STADIUM.OUT số nguyên số tiền lớn thu Ví dụ: STADIUM.INP 4 Bài tập 9: HOSTEL STADIUM.OUT 11 Bản đồ thành phố HP hệ trục tọa độ Oxy , HD tọa độ O(0 ; 0), Anh muốn đến nghỉ Hostel gần thứ K thành phố HP Bạn có q truy vấn sau: - x y : đưa hostel tọa độ ( x ; y )(−106 ≤ x , y ≤ 106) vào danh sách khách sạn mà HD biết - 2: đưa khoảng cách khách sạn gần thứ K danh sách HD Biết 2 khoảng cách hai điểm A ( x ; y ) , B ( x ; y 2) AB=( x 2−x ) + ( y 2− y ) Biết rằng: - Trong truy vấn 2, HD tọa độ O ( ; ) - Có k truy vấn trước có truy vấn Dữ liệu: Vào từ file văn HOSTEL.INP - Dòng 1: Hai số nguyên dương Q , K (0 ≤ K ≤Q ≤ 105) Q dòng chứa truy vấn Kết quả: Ghi file văn HOSTEL.OUT dòng, dịng kết ứng với truy vấn Ví dụ: HOSTEL.INP 10 10 9 -8 -8 7 6 5 Bài tập 10: ABD HOSTEL.OUT 200 162 98 Cho dãy a , a2 , … an q truy vấn sau - K S : đưa giá trị nhỏ thứ K - K L: đưa giá trị lớn thứ K Dữ liệu: Vào từ file văn ABD.INP - Dòng 1: Hai số nguyên dương N (0 ≤ N ≤106 ) - Dòng 2: N số nguyên dương a , a2 , … an ( ≤ ≤ 109 ) - Dòng 3: Số nguyên dương Q(1 ≤Q ≤ 106) - Q dòng chứa truy vấn dạng K S ( L )(1≤ K ≤105 ) Kết quả: Ghi file văn ABD.OUT dòng, dòng kết ứng với truy vấn Ví dụ: ABD.INP 5 3 L S L Bài tập 11: POWERUP ABD.OUT 3 HD thích chơi ma thuật, vào ngày đẹp trời, bước vào cửa hàng để mua số quân biết rằng: - Các quân đặt cạnh bàn dài đánh số từ đến n, quân i có số sức mạnh a i - HD phải mua dãy liên tiếp quân quân phải có số sức mạnh đơi khác (tức khơng có hai qn số) - Tổng số sức mạnh quân lớn có thể? Dữ liệu: Vào từ file văn POWERUP.INP - Dòng 1: Số nguyên dương N (0 ≤ N ≤105 ) - Dòng chứa N số nguyên a , a2 , … an (−10 ≤ ≤10 9) Kết quả: Ghi file văn POWERUP.OUT số nguyên tổng sức mạnh lớn mua Ví dụ: POWERUP.INP 2 -2 POWERUP.OUT