关于向量下标超出范围。。。

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int N,i,j,k,n;
    vector<int>A;
    vector<int>B;
    cin>>N;
    if(N<=1||N>=100000) cin>>N;
    for(i=0;i<=N-1;i++)
    {
        cin>>n;
        A.push_back(n);
    }
    for(i=0;i<=N-1;i++)
    {
        cin>>n;
        B.push_back(n);
    }
    k=0;
    for(j=0;j<=N-1;j++)
    {    k+=A[i]*B[i];    }
    if(k==0) cout<<"yes"<<endl;
    else    cout<<"no"<<endl;
    return 0;
}

 

for(j=0;j<=N-1;j++)
    {    k+=A[i]*B[i];    }

应该是k+=A[j]*B[j]

此时i已经是N了,自然越界

我这都没注意到。。。谢谢