玄关求条
查看原帖
玄关求条
551430
__O__o__楼主2024/10/21 20:23
#include<iostream>
#include<cstdio>
using namespace std;
#define p 1000000007
long long m[200005],hole[200005],min_m=(long long)1e9,min_hole=(long long)1e9;
inline long long ksm(int a,int b)
{
	int res=1;
	while(b)
	{
		if(b&1) res=a*res%p;
		a=a*a%p,b>>=1;
	}
	return (res-2)%p;
}
int main()
{
	long long n;
	scanf("%lld",&n);
	long long ans=ksm(2,n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&m[i]);
		min_m=min(min_m,m[i]);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&hole[i]);
		min_hole=min(min_hole,min(m[i]-hole[i],hole[i]-1));
	}
//	cout<<ans<<' '<<min_hole<<' '<<min_m<<' ';
	cout<<(ans*min_hole+min_m)%p+1;
	return 0;
}
2024/10/21 20:23
加载中...