#include<iostream>
using namespace std;
const int mod=10007,maxn=1e5+10;
int n,m,a[maxn],b[maxn],s1[2][maxn],s2[2][maxn],ans;
main(){
cin>>n>>m;
for(int i=1;i<=n;++i)cin>>a[i];
for(int i=1;i<=n;++i){
cin>>b[i];
s1[i&1][b[i]]=(s1[i&1][b[i]]+1)%mod;
s2[i&1][b[i]]=(s2[i&1][b[i]]+a[i])%mod;
}
for(int i=1;i<=n;++i){
ans=(ans+i*(s2[i&1][b[i]]+a[i]*(s1[i&1][b[i]]-2)))%mod;
}
cout<<ans;
}
如果把for(int i=1;i<=n;++i)替换为for(int i=0;i<n;++i),则输出就不同了,为何如此?还有,代码只得了20分,求大佬调调!