BÀI TẬP VỀ NHÀ 28.2.2025

ÔN TẬP MẢNG 1 CHIỀU
Vị trí và giá trị lớn nhất (arr05.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n
Yêu cầu: Hãy in ra màn hình giá trị lớn nhất và vị trí của phần tử có giá trị lớn nhất, nếu có nhiều phần tử có giá trị lớn nhất thì in ra vị trí nhỏ nhất.
Dữ liệu vào:

  • Dòng đầu tiên ghi số nguyên dương n\ (n\le{10}^5)
  • Dòng thứ hai ghi lần lượt n số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
    Kết quả:
  • Dòng đầu ghi giá trị lớn nhất tìm được.
  • Dòng thứ hai ghi vị trí.
    Ví dụ:
    Input Output
    6
    5 4 6 3 1 6 6
    3
    Vị trí và giá trị nhỏ nhất (arr06.*)
    Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n
    Yêu cầu: Hãy in ra màn hình giá trị nhỏ nhất và vị trí của tất cả các phần tử có giá trị nhỏ nhất.
    Dữ liệu vào:
  • Dòng đầu tiên ghi số nguyên dương n\ (n\le{10}^5)
  • Dòng thứ hai ghi lần lượt n số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
    Kết quả:
  • Dòng đầu ghi giá trị nhỏ nhất tìm được.
  • Dòng thứ hai ghi vị trí tìm được theo thứ tự từ nhỏ đến lớn.
    Ví dụ:
    Input Output
    6
    5 1 6 3 1 6 1
    2 5
    Số nhỏ nhất lớn hơn \mathbit{k} (arr07.*)
    Cho hai số nguyên dương n,\ k và dãy số nguyên dương a_1,a_2,\ldots,a_n.
    Yêu cầu: Hãy tìm số nhỏ nhất lớn hơn k trong dãy số và các vị trí của nó
    Dữ liệu vào:
  • Dòng đầu tiên ghi hai số nguyên dương n,\ k (1\le n\le{10}^5;1\le k\le{10}^9)
  • Dòng thứ hai ghi lần lượt các số nguyên dương a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
    Kết quả:
  • Dòng đầu tiên ghi giá trị nhỏ nhất lớn hơn k tìm được
  • Dòng thứ 2 ghi vị trí của giá trị tìm được
    Ví dụ:
    Input Output
    6 70
    91 79 43 79 451 54 79
    2 4
    Vị trí số dương (arr08.*)
    Cho hai số nguyên dương n và dãy số nguyên dương a_1,a_2,\ldots,a_n.
    Yêu cầu: Hãy in ra vị trí của phần tử dương đầu tiên và vị trí của số dương cuối cùng.
    Dữ liệu vào:
  • Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
  • Dòng thứ hai ghi lần lượt các số nguyên dương a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
    Kết quả:
  • Ví trị của số dương đầu tiên và vị trí của số dương cuối cùng tìm được, nếu trong dãy không có số dương thì in ra -1-1

Ví dụ:
Input Output
6
-91 79 -43 89 -451 -54 2 4
Vị trí số âm (arr09.*)
Cho hai số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
Yêu cầu: Hãy in ra vị trí của phần tử âm đầu tiên và vị trí của số âm cuối cùng.
Dữ liệu vào:

  • Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
  • Dòng thứ hai ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
    Kết quả:
  • Ví trị của số âm đầu tiên và vị trí của số âm cuối cùng tìm được, nếu trong dãy không có số âm thì in ra -1-1
    Ví dụ:
    Input Output
    7
    7 -6 -4 19 -22 51 -82 2 7
    Số lượng số âm số dương (arr10.*)
    Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
    Yêu cầu: Hãy in ra số lượng số âm và số lượng số dương.
    Dữ liệu vào:
  • Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
  • Dòng thứ hai ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n(|a_i|\le{10}^9;i=1\ldots n)
    Kết quả:
  • Dòng đầu ghi số lượng số âm
  • Dòng thứ hai ghi số lượng số dương
    Ví dụ:
    Input Output
    6
    5 1 -6 3 -1 6 2
    4

    Cập nhật danh sách (ulist.*)
    Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
    Yêu cầu: Thay thế các phần tử âm bằng -1, phần tử dương bằng 1.
    Dữ liệu vào:

  • Dòng đầu ghi số nguyên dương n\ (1\le n\le{10}^6)

  • Dòng thứ 2 ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
    Kết quả:
  • Ghi lần lượt các phần tử trong dãy số sau khi thực hiện yêu cầu trên.
    Ví dụ:
    Input Output
    5
    -10 3 0 -2 1 -1 1 0 -1 1
    Dãy số B (seqb.*)
    Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n. Hãy tìm dãy số B sao cho b_i=a_1+a_2+\ldots+a_i, hay nói cách khác b_i là tổng của i số đầu tiên trong dãy A.
    Dữ liệu vào:
  • Dòng đầu tiên ghi số nguyên dương n (1\le n\le{10}^6).
  • Dòng tiếp theo ghi lần lượt các số a_1,a_2,\ldots,a_n (\left|a_i\right|\le{10}^9)
    Kết quả: Ghi lần lượt các số b_1,b_2,\ldots,b_n
    Ví dụ:
    Input Output
    4
    1 4 3 2 1 5 8 10
    Hướng dẫn
    Sử dụng công thức:
  • b_1=a_1
  • b_i=b_{i-1}+a_i\ (i=2,n)
    Dãy số B (seqb.*)
    Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n. Hãy tìm dãy số B sao cho b_i=a_1+a_2+\ldots+a_i, hay nói cách khác b_i là tổng của i số đầu tiên trong dãy A.
    Dữ liệu vào:
  • Dòng đầu tiên ghi số nguyên dương n (1\le n\le{10}^6).
  • Dòng tiếp theo ghi lần lượt các số a_1,a_2,\ldots,a_n (\left|a_i\right|\le{10}^9)
    Kết quả: Ghi lần lượt các số b_1,b_2,\ldots,b_n
    Ví dụ:
    Input Output
    4
    1 4 3 2 1 5 8 10
    Hướng dẫn
    Sử dụng công thức:
  • b_1=a_1
  • b_i=b_{i-1}+a_i\ (i=2,n)
    Trò chơi với những chiếc giày (shoes.*)
    Cho n đôi giày cùng loại chỉ khác nhau về kích cỡ được xếp thành một hàng theo thứ tự ngẫu nhiên. Chủ trò chơi bí mật rút một chiếc giày và giấu đi, sau đó yêu cầu người chơi hãy cho biết chiếc giày bị giấu đi là chiếc giày trái hay phải, có kích cỡ bao nhiêu.
    Yêu cầu: Hãy viết chương trình tìm ra chiếc giày bị giấu.
    Dữ liệu vào:
  • Dòng đầu tiên chứa số nguyên dương n (1\le n\le{10}^6)
  • Dòng thứ hai chứa 2\times n-1 số nguyên a_1,a_2,\ldots,a_{2n-1}\ (\left|a_i\right|\le{10}^9,\ a_i\neq0) trong đó |a_i| cho biết kích cỡ của chiếc giày thứ i, nếu a_i<0 thì đó là chiếc giày trái, nếu a_i>0 thì đó là chiếc giày phải
    Dữ liệu luôn đảm bảo tìm ra kết quả duy nhất.
    Kết quả: ghi ra trên hai dòng
  • Dòng đầu ghi -1 nếu chiếc giày bị giấu là chiếc giày trái, ngược lại ghi 1
  • Dòng 2 cho biết kích cỡ của chiếc giày bị giấu
    Ví dụ:
    Input Output
    3
    2 1 3 -1 -3 -1
    2

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.