結果
| 問題 | 
                            No.148 試験監督(3)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2015-02-13 09:50:43 | 
| 言語 | D  (dmd 2.109.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 653 ms / 1,000 ms | 
| コード長 | 1,190 bytes | 
| コンパイル時間 | 962 ms | 
| コンパイル使用メモリ | 109,528 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-12 02:15:49 | 
| 合計ジャッジ時間 | 6,040 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 12 | 
ソースコード
import std.bigint,std.conv,std.stdio,std.string;int M=10^^9+7,S=4000000,q;long y,z,a,b,e;
void i(long n){y=1;for(e=M-2;e;e/=2,n=n*n%M)if(e&1)y=y*n%M;}
void f(int n){
	if(n>M/2){
		f(M-1-n);i(z);z=n%2?y:M-y;
	}else{
		z=1;
		if(n%S>S/2){
			for(;n%S;)z=z*++n%M;
			i(z);
		}else{
			for(;n%S;)z=z*n--%M;
			y=z;
		}
		z=0;foreach(j;0..5)z=z<<6|
`    !/<4.V.^Y,'%M^!94!^%%=19Q\ #LDG!*&U)R,_QD@;?!1K)(_ 32="G1CPSE+M8OAM<H-A!H9MSMJSL"44EK#P+V3J5D&XA+ZA ,;7J?OUFC(FKYMS9#6R8@W3E4:AS_A%"TTF-I2,HZ7W =1G:7X1@;<.:LQN)>.@!C]7F-4>YT=]K$Y-(7 %\S!30]LA$S];R+K0=A,L2[IH90UC+H^40$^?+-@I+>H1J+7ULGC="&2O"#3:-(OWH#+%A-[^!W)+,G.,.M>=5O'95_5S\P"T\L&[@1I.A6FH%K%^*(&YF!5UI89$PL@N&)(7Z&=+9N($XD\5#XC3KXH4WDXZ3+UCMNI8_OK.[$#DBFKM*)"4^1V;@*5:GTL&%+Z;<+>&1Y^1U0')N%C)G!V*QT<,&R!O2%@<3_@PG3S O02:]PWXZ;0MQX,'4K*G_=Q@768+1X]4P5[O<ZMS+JTE(6!2 MMFX#^OC&WXA8*NIY89\I%\#D;X79ED'ZX#&T'QKOC/IE+;-W)Z_M58*6Y4KX/_.PP<C,>-#R2;03:N?O9&)1<\7:YVC\G!)6]H/Z&M09<==/#:&EL]JV[JX[:7# _,N%Z:F6=HI^&1J!E3KKJ\/,Z@]HKM<=;`
		[n/S*5+j]-32;
		z=z*y%M;
	}
}
void main(){foreach(t;0..readln.chomp.to!int){
	auto s=readln.split;BigInt C=s[0],P=s[1],r=C+1-P,l=r-P;a=0;
	if(l>=0&&l/M==r/M){
		f(r%M);a=z;f(l%M);i(z);a=a*y%M;
	}
	a.writeln;
}}