Getting memory limit exceeded error


#1

vector Solution::primesum(int A) {
int n = A+1;
vector sieve(n,1);
vector ans(2);
sieve[0]=0;
sieve[1]=0;
for(int i=2; i<=sqrt(A); i++){
if (sieve[i]==1){
for(int j=2; i*j<=A; j++){
sieve[i*j]=0;
}
}
}
for(int i=2; i<n; i++){
if(sieve[i]==1 && sieve[A-i]==1){
ans[0]=i;
ans[1]=(A-i);
break;
}
}

return ans;

}