+ 2

help in c++,i have mention the location of error

input are 5 2000000 1000000 2 3 1000000 4 error is ocurring in bool a[1000005] if i make bool a[2000005] it works #include <iostream> using namespace std; int printhi(int ar[], int k,int n) { bool a[1000005]={0};int temp;//if i make 2000005 it works for(int i=0;i<n;i++) { temp=k-ar[i]; if(temp>=0&&a[temp]==1) {cout<<"YES"; return 0; } a[ar[i]]=1; } cout<<"NO"; return 0; } int main() { int n,k; cin>>n>>k; int ar[n]; for(int i=0;i<n;i++)cin>>ar[i]; printhi(ar,k,n); }

27th Jun 2018, 4:31 AM
Bahubali
Bahubali - avatar
2 Antworten
+ 2
index out of range, here's why: k = 2000000 temp= k(2000000) - ar[1](2) = 1999998 a[temp (1999998)] is out of index this is causing the problem
27th Jun 2018, 5:19 AM
‎ ‏‏‎Anonymous Guy
+ 1
thanku Sreejith
27th Jun 2018, 5:21 AM
Bahubali
Bahubali - avatar