题目描述
小可可最近在学习代数运算中的点积!
给你两个长度为 n 的向量,求它们的点积。对于两个向量 (a1,a2,⋯,an) 和 (b1,b2,⋯,bn),点积定义为 a1b1+a2b2+⋯+anbn。
输入格式
第一行,一个整数 n。
第二行,n 个整数,代表 a1,a2,…,an。
第三行,n 个整数,代表 b1,b2,…,bn。
输出格式
一行,一个整数,表示两个向量点积的结果。
输入输出样例
in:
5
1 2 3 4 5
5 4 3 2 1
out:
35
in:
5
1 2 3 4 5
1 2 3 4 5
out:
55
说明/提示
数据范围
- 数据点 1∼4,1≤n,ai,bi≤10。
- 数据点 5∼10,1≤n,ai,bi≤1000。
- 数据点 11∼15,1≤n,ai≤1000,bi=1。
- 数据点 16∼21,1≤n,ai≤1000000,bi=1。
- 数据点 22∼25,1≤n,ai,bi≤1000000。
不开long long泪两行
坑就在这里
#include<bits/stdc++.h>
using namespace std;
int n,a[1000005],b[1000005],ans;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
for(int i=1;i<=n;i++){
ans+=a[i]*b[i];
}
cout<<ans;
return 0;
}