#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
pair<vector<long long >,long long > solve(vector<long long >& arr) {
unordered_map<long long , long long > mapaPrefiksnihSuma;
unordered_map<long long , long long > frequencyMap;
long long maxUcestalost = 0, najucestalijiElement = arr[0];
long long start = -1, end = -1;
long long prefiksnaSuma = 0;
mapaPrefiksnihSuma[0] = -1;
for (long long i = 0; i < arr.size(); i++) {
prefiksnaSuma += arr[i];
if (mapaPrefiksnihSuma.find(prefiksnaSuma) != mapaPrefiksnihSuma.end()) {
long long leftIndex = mapaPrefiksnihSuma[prefiksnaSuma] + 1;
vector<long long> subarray(arr.begin() + leftIndex, arr.begin() + i + 1);
unordered_map<long long, long long> tempFreq;
for (long long num : subarray) tempFreq[num]++;
for (auto& [num, freq] : tempFreq) {
if (freq > maxUcestalost) {
maxUcestalost = freq;
najucestalijiElement = num;
start = leftIndex;
end = i;
}
}
} else {
mapaPrefiksnihSuma[prefiksnaSuma] = i;
}
}
vector<long long> bestSubarray;
if (start != -1) {
bestSubarray.assign(arr.begin() + start, arr.begin() + end + 1);
}
return {bestSubarray, najucestalijiElement};
}
int main() {
vector<long long> niz;
long long n;
cin >> n;
for (long long i = 0; i < n; i++){
long long temp;
cin >> temp;
niz.push_back(temp);
}
auto [subarray, mostFrequent] = solve(niz);
long long brojac = 0;
for (long long num : subarray)
if(num == mostFrequent)
brojac++;
cout << brojac;
cout << "\nMost Repeated Element: " << mostFrequent << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpwYWlyPHZlY3Rvcjxsb25nIGxvbmcgPixsb25nIGxvbmcgPiBzb2x2ZSh2ZWN0b3I8bG9uZyBsb25nID4mIGFycikgewogICAgdW5vcmRlcmVkX21hcDxsb25nIGxvbmcgLCBsb25nIGxvbmcgPiBtYXBhUHJlZmlrc25paFN1bWE7IAogICAgdW5vcmRlcmVkX21hcDxsb25nIGxvbmcgLCBsb25nIGxvbmcgPiBmcmVxdWVuY3lNYXA7IAogICAgbG9uZyBsb25nICBtYXhVY2VzdGFsb3N0ID0gMCwgbmFqdWNlc3RhbGlqaUVsZW1lbnQgPSBhcnJbMF07CiAgICBsb25nIGxvbmcgIHN0YXJ0ID0gLTEsIGVuZCA9IC0xOwogICAgbG9uZyBsb25nICBwcmVmaWtzbmFTdW1hID0gMDsKCiAgICBtYXBhUHJlZmlrc25paFN1bWFbMF0gPSAtMTsgCgogICAgZm9yIChsb25nIGxvbmcgIGkgPSAwOyBpIDwgYXJyLnNpemUoKTsgaSsrKSB7CiAgICAgICAgcHJlZmlrc25hU3VtYSArPSBhcnJbaV07CgogICAgICAgIGlmIChtYXBhUHJlZmlrc25paFN1bWEuZmluZChwcmVmaWtzbmFTdW1hKSAhPSBtYXBhUHJlZmlrc25paFN1bWEuZW5kKCkpIHsKICAgICAgICAgICAgbG9uZyBsb25nIGxlZnRJbmRleCA9IG1hcGFQcmVmaWtzbmloU3VtYVtwcmVmaWtzbmFTdW1hXSArIDE7CiAgICAgICAgICAgIHZlY3Rvcjxsb25nIGxvbmc+IHN1YmFycmF5KGFyci5iZWdpbigpICsgbGVmdEluZGV4LCBhcnIuYmVnaW4oKSArIGkgKyAxKTsKCiAgICAgICAgICAgIAogICAgICAgICAgICB1bm9yZGVyZWRfbWFwPGxvbmcgbG9uZywgbG9uZyBsb25nPiB0ZW1wRnJlcTsKICAgICAgICAgICAgZm9yIChsb25nIGxvbmcgbnVtIDogc3ViYXJyYXkpIHRlbXBGcmVxW251bV0rKzsKCiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IgKGF1dG8mIFtudW0sIGZyZXFdIDogdGVtcEZyZXEpIHsKICAgICAgICAgICAgICAgIGlmIChmcmVxID4gbWF4VWNlc3RhbG9zdCkgewogICAgICAgICAgICAgICAgICAgIG1heFVjZXN0YWxvc3QgPSBmcmVxOwogICAgICAgICAgICAgICAgICAgIG5hanVjZXN0YWxpamlFbGVtZW50ID0gbnVtOwogICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbGVmdEluZGV4OwogICAgICAgICAgICAgICAgICAgIGVuZCA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBtYXBhUHJlZmlrc25paFN1bWFbcHJlZmlrc25hU3VtYV0gPSBpOwogICAgICAgIH0KICAgIH0KCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBiZXN0U3ViYXJyYXk7CiAgICBpZiAoc3RhcnQgIT0gLTEpIHsKICAgICAgICBiZXN0U3ViYXJyYXkuYXNzaWduKGFyci5iZWdpbigpICsgc3RhcnQsIGFyci5iZWdpbigpICsgZW5kICsgMSk7CiAgICB9CgogICAgcmV0dXJuIHtiZXN0U3ViYXJyYXksIG5hanVjZXN0YWxpamlFbGVtZW50fTsKfQoKaW50IG1haW4oKSB7CiAgICB2ZWN0b3I8bG9uZyBsb25nPiBuaXo7CiAgICBsb25nIGxvbmcgbjsKICAgIGNpbiA+PiBuOwogICAgZm9yIChsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspewogICAgCWxvbmcgbG9uZyB0ZW1wOwogICAgCWNpbiA+PiB0ZW1wOwogICAgCW5pei5wdXNoX2JhY2sodGVtcCk7CiAgICB9CgogICAgYXV0byBbc3ViYXJyYXksIG1vc3RGcmVxdWVudF0gPSBzb2x2ZShuaXopOwogICAgCiAgICBsb25nIGxvbmcgYnJvamFjID0gMDsKCiAgICBmb3IgKGxvbmcgbG9uZyBudW0gOiBzdWJhcnJheSkgCiAgICAJaWYobnVtID09IG1vc3RGcmVxdWVudCkgCiAgICAJCWJyb2phYysrOwogICAgY291dCA8PCBicm9qYWM7CiAgICBjb3V0IDw8ICJcbk1vc3QgUmVwZWF0ZWQgRWxlbWVudDogIiA8PCBtb3N0RnJlcXVlbnQgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==