Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 2

Kiểm tra xem mảng có đối xứng hay không.

Đưa ra: YES HOẶC NO


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 2

Cho một mảng số nguyên a gồm n phần tử, với mỗi phần tử có giá trị trong khoảng 109a[i]109. Hãy tìm phân đoạn con (subarray) liên tiếp trong mảng sao cho tổng các phần tử của phân đoạn con này là lớn nhất.

Yêu cầu:

  1. In ra tổng lớn nhất của phân đoạn con.
  2. In ra chỉ số bắt đầu và kết thúc của phân đoạn con đó (theo hệ quy chiếu từ 1 đến n).

Nếu có nhiều phân đoạn con có tổng bằng nhau, in ra phân đoạn con có chỉ số bắt đầu nhỏ nhất. Nếu vẫn còn nhiều đáp án, chọn phân đoạn con có độ dài ngắn nhất.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên n (1n105): số lượng phần tử trong mảng.
  • Dòng thứ hai chứa n số nguyên a[1],a[2],...,a[n] (109a[i]109): các phần tử của mảng.

Dữ liệu ra:

  • Dòng đầu tiên in ra tổng lớn nhất của phân đoạn con.
  • Dòng thứ hai in ra hai số nguyên lr (1lrn): chỉ số bắt đầu và kết thúc của phân đoạn con.

Ví dụ:

Input 1:

Copy
9
-2 1 -3 4 -1 2 1 -5 4

Output 1:

Copy
6
4 7

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 2

Đếm tần số xuất hiện
Đề bài:

Viết chương trình nhập vào một dãy số nguyên gồm n phần tử. Nhiệm vụ của bạn là:

  1. Đếm số lần xuất hiện của từng số trong dãy.
  2. In ra từng số và số lần xuất hiện của nó theo thứ tự tăng dần của các số.
  • file input; tanso.inp
  • file output; tanso.out
Đầu vào:
  • Dòng đầu tiên chứa số nguyên n (1n105): số lượng phần tử trong dãy.
  • Dòng tiếp theo chứa n số nguyên a1,a2,...,an (109ai109): các phần tử của dãy.
Đầu ra:
  • In ra k dòng, mỗi dòng chứa hai số nguyên xf, trong đó:
    • x là số trong dãy.
    • f là số lần xuất hiện của x.
  • Các dòng được sắp xếp theo thứ tự tăng dần của x.
Ví dụ:

Input:

Copy
7
3 1 2 2 3 1 3

Output:

Copy
1 2
2 2
3 3

Input:

Copy
5
5 5 5 5 5

Output:

Copy
5 5

Giới hạn thời gian: 2.0s / Giới hạn bộ nhớ: 256M

Điểm: 2

Kiểm tra nhóm bạn của học sinh X có bao nhiêu thành viên

Mô tả bài toán

Trong một hội trại hè do Tỉnh Đoàn tổ chức, có N học sinh tham gia, trong đó, có một số học sinh quen nhau. Một số học sinh được gọi là cùng một nhóm bạn, nếu bất kỳ một học sinh nào thuộc nhóm đều có quen ít nhất một học sinh khác trong cùng nhóm đó.

Yêu cầu
  • Hãy xác định có bao nhiêu nhóm bạn trong N học sinh tham gia hội trại.
  • Kiểm tra xem học sinh X thuộc nhóm bạn nào và nhóm đó có bao nhiêu thành viên.
Dữ liệu vào

Cho trong file văn bản NHOMBAN.INP, có cấu trúc như sau:

  • Dòng 1: Ghi hai số nguyên dương N X, trong đó:
    • N là số lượng học sinh tham gia hội trại (1N100).
    • X là số thứ tự của học sinh cần kiểm tra (1XN).
  • Trong N dòng tiếp theo: Mỗi dòng ghi N số nguyên dương A[i,j] với ý nghĩa:
    • A[i,j]=1 nếu học sinh i quen học sinh j (với ij).
    • A[i,j]=0 nếu học sinh i không quen học sinh j (với ij).
    • A[i,i]=1 (học sinh i được xem là quen bản thân nó).
  • Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra

Ghi ra file văn bản NHOMBAN.OUT, theo cấu trúc như sau:

  • Dòng 1: Ghi số nguyên dương K, là số lượng nhóm bạn tìm được trong N học sinh tham gia hội trại.
  • Dòng 2: Ghi số nguyên dương M, là số lượng thành viên trong nhóm bạn của học sinh X.
Ví dụ minh họa

NHOMBAN.INP

Copy
5 3
1 0 0 1 1
0 1 1 0 0
0 1 1 0 0
1 0 0 1 1
1 0 0 1 1

NHOMBAN.OUT

Copy
2
3
Giải thích ví dụ
  • Có 2 nhóm bạn được tìm thấy trong danh sách học sinh.
  • Học sinh số 3 thuộc nhóm có 3 thành viên.

Giới hạn thời gian: 5.0s / Giới hạn bộ nhớ: 500M

Điểm: 2

Cho một dãy số nguyên A gồm n phần tử (1n105) được đánh số từ 1 đến n. Hãy tìm một dãy con có nhiều phần tử nhất của A sao cho dãy con đó là một dãy số tăng dần.

Yêu cầu:

Tìm độ dài lớn nhất của dãy con tăng dần (LIS).

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên n - số phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên A1,A2,...,An (109Ai109).

Dữ liệu ra:

  • Dòng đầu tiên in ra độ dài của dãy con tăng dài nhất.

Ví dụ 1

Input:

Copy
7
5 9 6 7 2 1 8

Output:

Copy
4