Chia dãy
Trạng thái
Yêu cầu
Cho dãy A gồm N phần tử . Tìm cách tách A thành ba phần sao cho tổng các phần tử trong ba phần là bằng nhau?
Dữ liệu
-
Dòng đầu ghi số \(N\) ( \(N ≤ 10^6\) ).
-
Dòng tiếp theo ghi \(N\) số nguyên, các số cách nhau bởi dấu cách ( \(A_i \leq 10^9\) ).
Kết quả
-
Kết quả gồm hai chỉ số i,j thỏa mãn 0 ≤ i < j ≤ N sao cho i,j chia dãy thành 3 mảng con có tổng bằng nhau. Nếu không tồn tại cách chia, in ra -1.
-
đoạn 1: từ vị trí 1 đến vị trí i
-
đoạn 2: từ vị trí i+1 đến vị trí j
-
đoạn 3: từ vị trí j+1 đến vị trí n
-
nếu có nhiều đáp án, in ra i j nhỏ nhất
Ví dụ
INPUT
5
1 3 4 0 4
OUTPUT
2 3
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
127 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
Phương pháp: Tìm kiếm nhị phân cơ bản
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text