Submit solution
Points:
0.30 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Hôm nay, bạn D lục lại trong kho code cũ của mình và thấy một đoạn mã giả viết về một hàm có nội dung như sau :
func f(array a[n])
c = 0
for i = 1 to n - 3
for j = i + 1 to n - 2
for x = j + 1 to n - 1
for y = x + 1 to n
if a[i] + a[j] + a[x] + a[y] = 0 : c = c + 1
return c
Bạn D rất thích thú với hàm này nên muốn tăng tốc nó để có thể tìm ra kết quả trong ~1s~ với giới hạn đề bài cho. Các bạn hãy giúp D làm việc này nhé.
Input
- Dòng đầu tiên chứa số nguyên ~n~ là độ dài của dãy ~(n \le 2\times 10^3)~.
- Dòng tiếp theo chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ ~(|a_i| \le 10^6)~.
Output
- In ra một số duy nhất là kết quả của hàm này.
Sample Input
5
1 2 -1 -3 0
Sample Output
1
Subtask
- ~30\%~ số test có ~n \le 10~
- ~20\%~ số test tiếp theo có ~n \le 300~
- ~50\%~ số test còn lại không có điều kiện gì thêm
Note
Có duy nhất ~1~ bộ là ~(1, 2, -3, 0)~
Comments