[Buổi 19][Con trỏ][HW] Bài 3: Tổng mảng động


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

Tổng mảng động

Bối cảnh

Một batch dữ liệu có kích thước n chỉ được biết khi chương trình chạy. Thay vì mảng tĩnh với kích thước cố định, chương trình phải cấp phát đúng n phần tử bằng new[], đọc dữ liệu, tính tổng, rồi giải phóng bằng delete[]. Với n=0, chương trình không được giả định tồn tại phần tử đầu tiên.

Homework Easy kiểm tra toàn bộ lifecycle tối thiểu của raw dynamic array: allocate → use → cleanup. Thuật toán tổng mảng rất quen thuộc để người học dành sự chú ý cho việc quản lý vùng nhớ, chọn kiểu long long cho tổng và không dùng lại pointer sau khi giải phóng.

Yêu cầu

  1. Cấp phát mảng động.
  2. Đọc n phần tử.
  3. Tính và in tổng.
  4. delete[] trước khi kết thúc.

Input

Dòng 1 n; dòng 2 n số nếu n>0.

Output

Một số nguyên.

Ràng buộc

0 ≤ n ≤ 10000, |a[i]|≤10^9.

Ví dụ 1

Input

3
1 2 3

Output

6

Giải thích

n=3 nên chương trình cấp phát ba phần tử và đọc 1 2 3. Tổng tích lũy lần lượt 1, 3, 6. Sau khi tính xong, mảng được delete[]; kết quả 6 đã nằm trong biến sum nên output là 6.

Ví dụ 2

Input

0

Output

0

Giải thích

n=0 nghĩa là không có phần tử để đọc hoặc cộng. Tổng khởi tạo bằng 0 và giữ nguyên. Chương trình không dereference vùng nhớ rỗng, vì vậy output hợp lệ là 0.

Thông tin học tập

  • Module: M06
  • Buổi: B19
  • Loại bài: HOMEWORK
  • Độ khó: Easy
  • Concepts: dynamic arrays, new[], delete[], traversal
  • Giới hạn kiến thức: B01-B19
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo