4169 auto *flowers =
new int[n];
4170 auto *prefix_sum =
new int[n];
4171 auto location = unordered_map<int, unordered_set<int>>();
4173 for(
int i = 0; i < n; i++) {
4176 prefix_sum[i] = sum;
4177 location[flowers[i]].insert(i);
4180 for(
int i = 0; i < n; i++) {
4181 for(
int j = i; j < n; j++) {
4182 const int len = j - i + 1;
4183 sum = prefix_sum[j] - (i - 1 >= 0 ? prefix_sum[i - 1] : 0);
4184 if(sum % len == 0) {
4185 int avg = sum / len;
4186 for(
const auto flower: location[avg]) {
4187 if(i <= flower && flower <= j) {
4197 delete[] prefix_sum;