Что надо изменить в коде чтобы найти количество максимальных элементов массива?
Разбейте задачу на подзадачи.
1. Найти максимальный элемент.
2. Найти количество элементов, равных значению из пункта 1.
3. Найти позицию последнего элемента равного значению из пункта 1.
4. Найти сумму квадратов элементов на позициях после найденной в пункте 3.

Каждый пункт - это один цикл for. Все еще не понятно?
Можно вот так:
#include <iostream>

int main() {
int arr[]{2,1,2,2,0,7,1,3,7,5,7,0,1,2};
int len = std::size(arr);
int max = arr[0], count{0}, ind{0}, sum{0};
for(int i{0}; i < len; ++i) {
  if(max < arr[i]) max = arr[i];
  if(i == len-1) {
    for(int j{0}; j < len; ++j) {
      if(arr[j] == max) { ++count; ind = j; }
    }
    while(++ind < len) { sum += (arr[ind] * arr[ind]); }
  }
}
std::cout << '\n' << max << ' ' << count << ' ' << sum;
return 0;
}