Submission #3230495


Source Code Expand

/*#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")*/
#include<bits/stdc++.h>
#define ll long long
#define inf 1000000005
#define put putchar('\n')
#define F(i,a,b) for (int i=(a);i<=(b);i++)
#define D(i,a,b) for (int i=(a);i>=(b);i--)
#define go(i,t) for (int i=head[t];i;i=Next[i])
#define sqr(x) ((x)*(x))
#define re register
#define mp make_pair
#define fi first
#define se second
#define pa pair<int,int>
#define pb push_back
#define be begin()
#define en end()
#define ret return puts("-1"),0;
#define mod 1000000007
#define N 1000055
#define int ll
using namespace std;
inline char gc(){
    static char buf[100000],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}
#define gc getchar
inline int read(){char c=getchar();int tot=1;while ((c<'0'|| c>'9')&&c!='-') c=getchar();if (c=='-'){tot=-1;c=getchar();}
int sum=0;while (c>='0'&&c<='9'){sum=sum*10+c-'0';c=getchar();}return sum*tot;}
inline void wr(int x){if (x<0) {putchar('-');wr(-x);return;}if(x>=10)wr(x/10);putchar(x%10+'0');}
inline void wrn(int x){wr(x);put;}inline void wri(int x){wr(x);putchar(' ');}
inline void wrn(int x,int y){wri(x);wrn(y);}inline void wrn(int a,int b,int c){wri(a);wrn(b,c);}
int n,m,fac[N*3],inv[N*3],x[10],y[10],ans,px;
int ksm(ll x,int k){
	int sum=1;
	while (k){
		if (k&1) sum=sum*x%mod;
		x=x*x%mod;k>>=1;
	}
	return sum;
}
int C(int n,int m){return (n<m||m<0)?0:1LL*fac[n]*inv[m]%mod*inv[n-m]%mod;}
void init(int x){
	fac[0]=1;F(i,1,x) fac[i]=1LL*fac[i-1]*i%mod;
	inv[x]=ksm(fac[x],mod-2);D(i,x-1,0) inv[i]=1LL*inv[i+1]*(i+1)%mod;
}
inline void add(int &x,int k){x+=k;x-=(x>=mod)?mod:0;x+=(x<0)?mod:0;}
inline int ch(int a,int b,int c,int d){
	if (a<=c&&d>=b) return C(c-a+d-b+2,d-b+1);
	else return 0;
}
inline int gt(int a,int b){
	return ((ch(x[1],y[1],a,b)-ch(x[1],y[2]+1,a,b)-ch(x[2]+1,y[1],a,b)+ch(x[2]+1,y[2]+1,a,b))%mod+mod)%mod;
}
inline int gt2(int a,int b){
	return ((ch(a,b,x[6],y[6])-ch(a,b,x[5]-1,y[6])-ch(a,b,x[6],y[5]-1)+ch(a,b,x[5]-1,y[5]-1))%mod+mod)%mod;
}
signed main(){
	init(3000000);
	F(i,1,6) x[i]=read();
	F(i,1,6) y[i]=read();
	F(i,x[3]+1,x[4]){
		px=-gt(i,y[3]-1);
		px=1LL*px*gt2(i,y[3])%mod;
		px=1LL*px*(i+y[3])%mod;
		add(ans,px);
	}
	F(i,y[3]+1,y[4]){
		px=-gt(x[3]-1,i);
		px=1LL*px*gt2(x[3],i)%mod;
		px=1LL*px*(x[3]+i)%mod;
		add(ans,px);
	}
	px=-gt(x[3],y[3]);
	px=1LL*px*gt2(x[3],y[3])%mod;
	px=1LL*px*(x[3]+y[3])%mod;
	add(ans,px);
	F(i,x[3],x[4]-1){
		px=gt(i,y[4]);
		px=1LL*px*gt2(i,y[4]+1)%mod;
		px=1LL*px*(i+y[4]+1)%mod;
		add(ans,px);
	}
	F(i,y[3],y[4]-1){
		px=gt(x[4],i);
		px=1LL*px*gt2(x[4]+1,i)%mod;
		px=1LL*px*(x[4]+1+i)%mod;
		add(ans,px);
	}
	px=gt(x[4],y[4]);
	px=1LL*px*gt2(x[4],y[4])%mod;
	px=1LL*px*(x[4]+y[4]+1)%mod;
	add(ans,px);
	wrn(ans);
	return 0;
}

Submission Info

Submission Time
Task E - Sightseeing Plan
User yukuai
Language C++14 (GCC 5.4.1)
Score 1600
Code Size 2952 Byte
Status AC
Exec Time 250 ms
Memory 47104 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1600 / 1600
Status
AC × 3
AC × 30
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt
Case Name Status Exec Time Memory
sample_01.txt AC 43 ms 47104 KB
sample_02.txt AC 43 ms 47104 KB
sample_03.txt AC 78 ms 47104 KB
subtask_1_01.txt AC 43 ms 47104 KB
subtask_1_02.txt AC 53 ms 47104 KB
subtask_1_03.txt AC 176 ms 47104 KB
subtask_1_04.txt AC 71 ms 47104 KB
subtask_1_05.txt AC 141 ms 47104 KB
subtask_1_06.txt AC 58 ms 47104 KB
subtask_1_07.txt AC 86 ms 47104 KB
subtask_1_08.txt AC 76 ms 47104 KB
subtask_1_09.txt AC 75 ms 47104 KB
subtask_1_10.txt AC 78 ms 47104 KB
subtask_1_11.txt AC 79 ms 47104 KB
subtask_1_12.txt AC 43 ms 47104 KB
subtask_1_13.txt AC 56 ms 47104 KB
subtask_1_14.txt AC 43 ms 47104 KB
subtask_1_15.txt AC 43 ms 47104 KB
subtask_1_16.txt AC 65 ms 47104 KB
subtask_1_17.txt AC 54 ms 47104 KB
subtask_1_18.txt AC 60 ms 47104 KB
subtask_1_19.txt AC 45 ms 47104 KB
subtask_1_20.txt AC 250 ms 47104 KB
subtask_1_21.txt AC 43 ms 47104 KB
subtask_1_22.txt AC 185 ms 47104 KB
subtask_1_23.txt AC 227 ms 47104 KB
subtask_1_24.txt AC 190 ms 47104 KB