[C++ Nâng cao 1 - C++NC1_OLD] Kiểm tra cuối khóa

[UOCSO] Tổng các ước số

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

Point: 200

Trong buổi sinh hoạt đầu tiên của CLB Lập trình, thầy Quýt ra một bài khởi động nhẹ nhàng để cả lớp làm nóng tay trước khi vào phần thi chính: cho một số nguyên dương n, hãy tính tổng tất cả các ước số dương của n (kể cả 1 và chính n).

Input:

Một dòng chứa một số nguyên dương n.

Output:

Một số nguyên duy nhất là tổng tất cả các ước số của n.

Ràng buộc: ~1 \le n \le 10^6~

Ví dụ:

Input:

6

Output:

12

Giải thích: các ước số của 6 là 1, 2, 3, 6. Tổng bằng 1 + 2 + 3 + 6 = 12.

Input:

1

Output:

1

Từ dài nhất

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

Point: 150

Cho một xâu S gồm các từ cách nhau bởi một hoặc nhiều dấu cách.
Hãy in ra độ dài của từ dài nhất trong S.

  • Input:
    • Dòng 1: xâu S (độ dài ≤ 255).
  • Output:
    • Một số nguyên: độ dài từ dài nhất.

Ví dụ

Input

Hoc lap trinh Cplusplus that thu vi

Output

9

Giải thích: từ dài nhất là Cplusplus có 9 ký tự.


Kiểm tra mảng có phần tử trùng nhau không

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

Point: 100

Cho một dãy gồm ~n~ số nguyên, mỗi số có giá trị từ ~0~ đến ~100~. Em hãy kiểm tra xem trong dãy có tồn tại hai phần tử trùng giá trị nhau hay không.

Input:

  • Dòng đầu tiên chứa một số nguyên ~n~.
  • Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ ~(0 \le a_i \le 100)~.

Output:

  • In ra CO TRUNG nếu tồn tại ít nhất một cặp phần tử trùng giá trị nhau, ngược lại in ra KHONG TRUNG.

Ràng buộc:

  • ~1 \le n \le 1000~
  • ~0 \le a_i \le 100~

Ví dụ 1:

input

5
1 2 3 2 5

output

CO TRUNG

Ví dụ 2:

input

4
1 2 3 4

output

KHONG TRUNG

[DANHSACH] Danh sách không trùng

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

Point: 100

Ban tổ chức mở cổng đăng ký tham gia ngày hội Tin học của trường. Do hệ thống mạng chập chờn, một số bạn học sinh bấm nút đăng ký nhiều lần, khiến mã số học sinh của các bạn bị ghi nhận lặp lại trong nhật ký hệ thống. Thầy Quýt cần một danh sách "sạch" — chỉ giữ lại mỗi mã số một lần và sắp xếp theo thứ tự tăng dần — để in thẻ tham dự.

Input:

  • Dòng đầu tiên chứa số nguyên n — số lượt đăng ký được ghi nhận.
  • Dòng thứ hai chứa n số nguyên là mã số học sinh của từng lượt đăng ký (có thể trùng nhau).

Output:

  • Dòng đầu tiên in ra số lượng học sinh khác nhau đã đăng ký.
  • Dòng thứ hai in ra các mã số đó theo thứ tự tăng dần, cách nhau bởi dấu cách.

Ràng buộc: ~1 \le n \le 10^5~; ~1 \le ma so \le 10^9~

Ví dụ:

Input:

6
105 203 105 310 203 105

Output:

3
105 203 310

[BAUCHON] Bầu chọn đội trưởng

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

Point: 100

CLB Lập trình tổ chức bầu chọn đội trưởng cho học kỳ mới. Mỗi thành viên bỏ một phiếu ghi tên người mình chọn. Thầy Quýt cần biết ai là người thắng cử — tức là người có số phiếu bầu cao nhất. Nếu có nhiều người cùng có số phiếu cao nhất, chọn người có tên đứng trước theo thứ tự từ điển (bảng chữ cái).

Input:

  • Dòng đầu tiên chứa số nguyên n — số phiếu bầu.
  • n dòng tiếp theo, mỗi dòng là tên một người được bầu (chuỗi không chứa khoảng trắng, chỉ gồm chữ cái không dấu và chữ số, độ dài không quá 20 ký tự).

Output:

Tên của người thắng cử.

Ràng buộc: ~1 \le n \le 10^5~

Ví dụ:

Input:

5
An
Binh
An
Chi
Binh

Output:

An

Giải thích: An và Binh đều được 2 phiếu, nhưng "An" đứng trước "Binh" theo thứ tự từ điển nên An thắng cử.


[TIMCAP] Tìm cặp tổng đúng

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

Point: 50

Cho một dãy gồm n số nguyên và một số nguyên S. Hãy kiểm tra xem có tồn tại hai phần tử ở hai vị trí khác nhau trong dãy sao cho tổng của chúng đúng bằng S hay không.

Lưu ý: thuật toán duyệt hai vòng lặp lồng nhau (độ phức tạp ~O(n^2)~) sẽ không kịp thời gian với n lớn. Hãy tận dụng cấu trúc dữ liệu STL (set hoặc map) để giải bài toán với độ phức tạp khoảng ~O(n \log n)~.

Input:

  • Dòng đầu tiên chứa hai số nguyên nS.
  • Dòng thứ hai chứa n số nguyên là các phần tử của dãy.

Output:

In ra CO nếu tồn tại một cặp thỏa mãn, ngược lại in ra KHONG.

Ràng buộc: ~1 \le n \le 10^5~; ~-10^9 \le S, a_i \le 10^9~

Ví dụ:

Input:

5 9
2 7 11 4 5

Output:

CO

Giải thích: 2 + 7 = 9, nên tồn tại cặp thỏa mãn.

Input:

4 100
1 2 3 4

Output:

KHONG