I’m getting TLE in CRAN02. Any ideas on how to improve my solution?
#include
#include
using namespace std;
typedef long long ll;
int main() {
ll cases, i, n, j, zeros, k;
int *values;
int *acc;
cin >> cases;
for (i=0; i<cases; i++) {
cin >> n;
values = new int[n];
acc = new int[n];
cin >> values[0];
acc[0] = values[0];
zeros = (acc[0] == 0) ? 1 : 0;
for (j=1; j<n; j++) {
cin >> values[j];
acc[j] = acc[j-1] + values[j];
if (acc[j] == 0)
zeros++;
}
for (j=0; j<n; j++) {
for (k=j+1; k<n; k++) {
acc[k] -= acc[j];
if (acc[k] == 0)
zeros++;
}
}
cout << zeros << endl;
}
}