Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Dang Tri Duc
Bài 7. Truy vấn tổng                                                Tên file: QSUM.CPP

Cho một dãy số nguyên gồm N phần tử nguyên A1, A2, …, AN.

Yêu cầu: Hãy trả lời Q truy vấn có dạng:

- i j: tính tổng các phần tử liên tiếp thuộc đoạn từ i đến j.

INPUT: QSUM.INP

Ø Dòng đầu tiên chứa 2 số nguyên dương N và Q (1 ≤ N, Q ≤ 105)

Ø Dòng thứ 2 chứa N số nguyên A1, A2, …, AN (|Ai| ≤ 103)

Ø Q dòng tiếp theo mỗi dòng chứa hai số nguyên i, j (1 ≤ i ≤ j ≤ N) thể hiện một câu hỏi truy vấn.

OUTPUT: QSUM.OUT

Ø Chứa Q dòng, mỗi dòng là câu trả lời truy vấn tương ứng trong INPUT.

Ví dụ:

QSUM.INP

QSUM.OUT

Giải thích ví dụ

5 3

1 3 -4 5 -2

1 4

2 5

3 3

5

2

-4

Dãy có 5 phần tử và 3 truy vấn

- Truy vấn 1: tính tổng các phần từ thứ 1 đến thứ 4 là:

 1 + 3 + (-4) + 5 = 5

- Tương tự như vậy ta được kết quả của 2 truy vấn còn lại là 2 và -4

* Ghi chú:

          - Có 80% số test với dữ liệu cho là: 1 ≤ N, Q ≤ 5000.

 

datcoder
3 tháng 1 lúc 0:54

Program HOC24;

var i,n,q,j,k,l: integer;

t: longint;

a: array[1..5000] of integer;

f1,f2: text;

const fi='QSUM.INP' ;

fo='QSUM.OUT' ;

begin

assign(f1,fi);

assign(f2,fo);

reset(f1);

rewrite(f2);

readln(f1,n,q);

for i:=1 to n do read(f1,a[i]);

readln(f1);

for k:=1 to q do

begin

readln(f1,i,j);

t:=0;

for l:=i to j do t:=t+a[l];

writeln(f2,t);

end;

close(f1);

close(f2);

end.

Dang Tri Duc
2 tháng 1 lúc 20:28

giúp  mình với mmik cần gấp

 


Các câu hỏi tương tự
Trần Trung Hiếu THCS Thá...
Xem chi tiết
Trần Trung Hiếu
Xem chi tiết
Lala
Xem chi tiết
Lala
Xem chi tiết
thiên thanh
Xem chi tiết
sahaphap wongratch
Xem chi tiết
Huyền Trang
Xem chi tiết
gấu trúc VN
Xem chi tiết
Hello1234
Xem chi tiết