80求助
查看原帖
80求助
454444
StenvenPig楼主2023/9/30 12:16
#include<bits/stdc++.h>
using namespace std;
struct st{
	long long col,numb,bh;
}a[100010];
long long n,m,ans;
bool cmp(st a1,st a2){
	return a1.col<a2.col;
	if(a1.col==a2.col){
		return a1.bh<a2.bh;
	}
}
int main() {
//	freopen("sum.in","r",stdin);
//	freopen("sum.out","w",stdout);
	cin>>n>>m;
	for(long long i=1;i<=n;i++){
		cin>>a[i].numb;
		a[i].bh=i;
	}
	for(long long i=1;i<=n;i++){
		cin>>a[i].col;
		
	}
	sort(a+1,a+1+n,cmp);
	for(long long i=1;i<=n;i++){
		for(long long j=i+1;j<=n;j++){
			if(a[j].col!=a[i].col){
				break;
			}else if((a[j].bh-a[i].bh)%2!=0){
				continue;
			}else{
				ans+=(a[i].bh+a[j].bh)*(a[i].numb+a[j].numb);
				ans=ans%10007;
			}
			
		}
	}
	cout<<ans;
	return 0;
}

2023/9/30 12:16
加载中...