#include <iostream> using namespace std; int n, a[100000 + 10],b[100000+10],ans; int main() { int s1, s2, s3; cin >> n; for (int i = 1; i <= n;i++) { cin >> a[i]; } b[0] = 0; for (int i = 1; i <= n;i++) { //前缀和 b[i] = b[i - 1] + a[i]; } ans = 0; for (int p = 1; p <= n - 2;p++) { for (int q = p + 1; q <= n - 1;q++) { s1 = b[p]; s2 = b[q] - b[p]; s3 = b[n] - b[q]; if (abs(s1-s2) &&abs(s1-s3)&&abs(s2-s3)) { ans++; } } } cout << ans << endl; return 0; }文章来源: Array Partition