Il problema è semplice ma non riesco a capire perché tutti i testcase sono corretti tranne il caso di esempio (output non corretto), anche se in locale risulta corretto
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("input.txt");
ofstream fout("output.txt");
int main(){
fin.sync_with_stdio(false);
fin.tie(NULL);
int n=0;
fin>>n;
int vet [n+1];
fill(vet,vet+n+1,0);
int x=0;
for(int i=1;i<n+1;i++){
fin>>x;
vet[i]=vet[i-1]+x;
}
sort(vet,vet+n+1);
int max=0;
int mom=0;
int valore=0;
for(int i=1;i<n;i++){
if(vet[i]==vet[i+1]){
mom++;
continue;
}
else{
if(mom>max){
max=mom;
valore=vet[i];
}
}
mom=0;
}
fout << 5000+valore;
return 0;
}