RUPC2018 C-一致 mapの一致判定は速い!?

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    // input
    ll N;
    cin>>N;

    VI A(N);
    rep(i, N){
      cin >> A[i];
    }

    map<ll,ll> left,right;

    VI Ans;
    rep(i,N){
      {
        ll a = A[i];
        left[a]++;
      }
      {
        ll a = A[N-1-i];
        right[a]++;
      }
      if(left==right){
        Ans.push_back(i+1);
      }
    }
    print_vector(Ans);
    
    return 0;
}