20分求挑错
查看原帖
20分求挑错
1429512
Charlie_linyc楼主2024/9/16 12:28
#include <bits/stdc++.h>
using namespace std;
const long long p=1000000007;
long long n,x_1,y_1,x_2,y_2,x[1000005],y[100005],ans1,ans2;
int main(){
	scanf("%d %d %d %d %d",&n,&x_1,&y_1,&x_2,&y_2);
	for(int i=1;i<=n;i++)scanf("%d %d",&x[i],&y[i]);
	sort(x+1,x+1+n);sort(y+1,y+1+n);
	if(x[1]<x_1||x[n]>x_2||y[1]<y_2||y[n]>y_1){
        cout << 0;
        return 0;
    }
	ans1=(x[1]-x_1+1)%p;
	ans1=((x_2-x[n]+1)%p*ans1)%p;
	while(ans1<0)ans1+=p;
	
	
	ans2=(y[1]-y_2+1)%p;
	ans2=((y_1-y[n]+1)%p*ans2)%p;
	while(ans2<0)ans2+=p;
	
	ans1=(ans1*ans2)%p;
	printf("%d",ans1);
    return 0;
}
2024/9/16 12:28
加载中...