[Buổi 19][Con trỏ][WS] Bài 1: Dynamic Score Storage


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Dynamic Score Storage

Bối cảnh

Một lớp học có số lượng điểm chỉ biết khi chạy. Hãy xây bộ thống kê dùng raw dynamic array.

Đây là output chính của B19: vừa đúng dữ liệu, vừa đúng lifecycle.

Yêu cầu

  1. Đọc n và n điểm nguyên.
  2. Cấp phát mảng động.
  3. Tính tổng, min, max và số điểm >=5.
  4. Nếu n=0, in EMPTY.
  5. Nếu n>0, in bốn giá trị: sum min max passCount.
  6. Giải phóng vùng nhớ trước khi kết thúc.

Yêu cầu tổ chức code

Bắt buộc dùng mảng động new[]/delete[].

Online Judge chủ yếu chấm output. Giảng viên có thể review thêm cấu trúc code để xác nhận học viên luyện đúng kỹ năng của buổi.

Input

Dòng 1 n. Dòng 2 n điểm nếu n>0.

Output

EMPTY nếu n=0; ngược lại một dòng sum min max passCount.

Ràng buộc

0 ≤ n ≤ 5000, 0 ≤ score ≤ 10.

Ví dụ 1

Input

5
7 8 4 10 5

Output

34 4 10 4

Giải thích

Mảng điểm động chứa 7 8 4 10 5. Tổng là 34; min là 4; max là 10. Có bốn điểm đạt ngưỡng >=5: 7, 8, 10 và 5; chỉ điểm 4 không đạt. Vì workshop yêu cầu sum min max passCount, output chính xác là 34 4 10 4. Tất cả thống kê phải hoàn thành trước khi delete[] buffer.

Ví dụ 2

Input

0

Output

EMPTY

Giải thích

Input n=0 nghĩa là kho điểm không có phần tử. Không thể lấy min/max hay index hợp lệ, nên theo quy ước của workshop chương trình in EMPTY và không truy cập a[0] hay dereference vùng nhớ không tồn tại.

Thông tin học tập

  • Module: M06
  • Buổi: B19
  • Loại bài: WORKSHOP
  • Độ khó: Medium
  • Concepts: dynamic arrays, pointers, new[], delete[], sum, min max, counting
  • Giới hạn kiến thức: B01-B19
  • Time limit: 2 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo