社区讨论

64球条qwq

P11214【MX-J8-T2】黑洞参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m2h8ffho
此快照首次捕获于
2024/10/20 14:54
去年
此快照最后确认于
2025/11/04 16:43
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
template<typename T> void read(T&x){
	int sign=1;x=0;char c;
	do{
		c=getchar();
		if(c=='-') sign=-1;
	}while(!isdigit(c));
	do{
		x=x*10+c-'0';
		c=getchar();
	}while(isdigit(c));
	x*=sign;
}
const int N=2e5+10;
const int Mod=1e9+7;
int n;
int m[N],a[N];
struct op{
	int jia,jian;
}b[N];
int Min=1e9,Minax=1e9;
map<int,int> t,tt;
int ans;
int s;
int MIN[N];
signed main(){
	read(n);
	for(int i=1;i<=n;i++){
		read(m[i]);
	}
	for(int i=1;i<=n;i++){
		read(a[i]);
	}
		if(n==2){	
		ans+=min(a[1]-1,a[2]-1);
		ans%= Mod;
		ans+=min(m[1]-a[1],m[2]-a[2]);
		ans%=Mod;
		ans+=min(m[1]-a[1],a[2]-1);
		ans%=Mod;
		ans+=min(a[1]-1,m[2]-a[2]);
		ans%=Mod;
		cout<<(ans+1+Mod)%Mod;
		return 0;
	}
	if(n == 3){
		ans+=min(m[1]-a[1],min(m[2]-a[2],m[3]-a[3]));
		ans%=Mod;
		ans+=min(m[1]-a[1],min(m[2]-a[2],a[3]-1));
		ans%=Mod;
		ans+=min(m[1]-a[1],min(a[2]-1,m[3]-a[3]));
		ans%=Mod;
		ans+=min(a[1]-1,min(m[2]-a[2],m[3]- a[3]));
		ans%=Mod;
		ans+=min(a[1]-1,min(a[2]-1,m[3]-a[3]));
		ans%=Mod;
		ans+=min(a[1]-1,min(m[2]-a[2],a[3]-1));
		ans%=Mod;
		ans+=min(m[1]-a[1],min(a[2]-1,a[3]-1));
		ans%=Mod;
		ans+=min(a[1]-1,min(a[2]-1,a[3]-1));
		ans%=Mod;
		cout<<(ans+1+Mod)%Mod;
		return 0;
	}
else{
	for(int i=1;i<=n;i++){
		b[i].jia=m[i]-a[i];
		b[i].jian=a[i]-1;
	}
	for(int i=1;i<=n;i++){
		Minax=min(max(b[i].jia,b[i].jian),Minax);
	}
	for(int i=1;i<=Minax;i++){
		int qwq=1;
		for(int j=1;j<=n;j++){
			int qqq=0;
			if(b[j].jia>=i){
				qqq++;
			}
			if(b[j].jian>=i){
				qqq++;
			}
			qwq*=qqq;
			qwq%=Mod;
		}
		ans=(ans+qwq+Mod)%Mod;
		if(qwq==0){
			break;
		}
	}
	ans=(ans+1+Mod)%Mod;
	cout<<ans;
	return 0;
}
}
/*
3
5 7 8
4 5 2 
12
1 0   0   0 
8 +-1 +-1 +-1
2 -2  +-2 +2
1 -3  -3  +3
*/

回复

1 条回复,欢迎继续交流。

正在加载回复...