PDA

View Full Version : Một bài tập nhỏ ....



babyit
18-12-2011, 13:57
Hôm nay thầy có cho tụi em một bài này
Nghĩ hoài chưa cóa roa, mong anh chị giúp dùm :D
Cho dãy số nguyên có N số ( N<=100000) mỗi số không vượt quá 10000.
Tính |(S1+...+Si) - (Sj+...+Sn)| max với 1<i<j<n
Vd:
Input:
N = 6
1 2 3 4 5 6

Output: 19

HGMinh95
18-12-2011, 17:22
Các số Si có thể âm ko bạn???

babyit
18-12-2011, 17:55
các số Si có thể âm được bạn !

babyit
18-12-2011, 21:19
sao hok thay ai comment het zạy :((

hcvtpt
19-12-2011, 15:07
sao hok thay ai comment het zạy :((
Bạn nên trả lời câu hỏi của HGMinh95 đã chứ.

Mình không hiểu lắm cái |(S1+...+Si) - (Sj+...+Sn)|
Bạn có thể nói rõ hơn cách tính?

thienha20
19-12-2011, 16:08
Tìm xem có bất đẳng thức nào <= không thì sử dụng. còn không thôi chơi theo cách gà mờ for 1->N-1
- nhập vào số n
*)b1:
for(vt:1->n-1)
- for(1->vt) tính tổng s1
- for(vt+1->n) tính tổng s2
- abs(s1-s2) lưu vào 1 cái mãng array
*)b2:
tính max array

babyit
19-12-2011, 22:17
bạn nào có thể ghi chi tiết cái procedure giùm mình dc hok

ThangA3
23-12-2011, 10:03
Tìm xem có bất đẳng thức nào <= không thì sử dụng. còn không thôi chơi theo cách gà mờ for 1->N-1
- nhập vào số n
*)b1:
for(vt:1->n-1)
- for(1->vt) tính tổng s1
- for(vt+1->n) tính tổng s2
- abs(s1-s2) lưu vào 1 cái mãng array
*)b2:
tính max array
theo mình bài này dùng QHĐ sẽ nhanh hơn