虽然这题很简单,但还是想写一次题解(来自小菜鸡的辛酸,终于会写一道题了.....)
这道题思路很简单,就是暴力枚举。。。。。
直接上代码
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int a[1005],b[1005];</algorithm></iostream></cstdio>
int main ( )
{
int n,m;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
cin>>m;
for(int i=1;i<=m;i++)
scanf("%d",&b[i]);
long long ans=0,num=1e15;
int k=1;
for(int i=1,j=1;i<=n&&k<=m;i++,k++)
{
ans+=(a[i]-b[k])*(a[i]-b[k]);
if(i==n)
{
j++;
num=min(num,ans);
k=j-1;
ans=0;
i=0;
}
}
cout<<num<<endl;
return 0;
}
感觉挺麻烦的,本来以为会超时,但所幸题目的数据不大,才过了(QAQ),如果有更简单的做法,请多指教。。。。。。