QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#765645#9254. Random Variableszero-rangeWA 68ms9524kbC++231.3kb2024-11-20 14:53:582024-11-20 14:54:02

Judging History

This is the latest submission verdict.

  • [2024-11-20 14:54:02]
  • Judged
  • Verdict: WA
  • Time: 68ms
  • Memory: 9524kb
  • [2024-11-20 14:53:58]
  • Submitted

answer

#include<stdio.h>
#include<algorithm>
#define M 1005
using namespace std;
int n,m,T,C[M][M];
struct BR{
	typedef unsigned long long ull;
	ull p,m;
	BR():m{2}{p=-m/m+1;}
	BR(int mod):m{(ull)mod}{p=-m/m+1;};
	inline ull operator()(ull x) const{
		if((x-=ull((unsigned __int128)x*p>>64)*m)>=m) x-=m;
		return x;
	}
	operator int() const{return m;}
	friend int operator%(int x,const BR &y){return y(x);}
	friend int &operator%=(int &x,const BR &y){return x=y(x);}
	friend long long operator%(long long x,const BR &y){return y(x);}
	friend long long &operator%=(long long &x,const BR &y){return x=y(x);}
} mod;
int f[M][M],g[M];
inline void solve(){
	scanf("%d%d",&n,&m);
	for(int k=1;k<=n;++k){
		f[0][0]=1;
		for(int i=1;i<=n;++i){
			f[i][i/k+1]=0;
			for(int j=0;j<=i/k;++j){
				f[i][j]=1ll*(m-j)*f[i-1][j]%mod;
				if(j&&i>k) (f[i][j]+=1ll*(m-j+1)*C[n-i+k][k]%mod*f[i-k-1][j-1])%=mod;
			}
		}
		long long s=0;
		for(int i=0;i<=n/k;++i) s+=i&1?mod-f[n][i]:f[n][i];
		g[k]=s%mod;
	}
	for(int i=n;i;--i) g[i]=(g[i]+mod-g[i-1])%mod;
	long long s=0;
	for(int i=1;i<=n;++i) (s+=1ll*g[i]*i%mod)%=mod;
	printf("%lld\n",s);
}
int main(){
	// freopen("in.txt","r",stdin);
	int T,p;scanf("%d%d",&T,&p),mod=BR(p);
	for(int i=0;i<M;++i){
		C[i][0]=1;
		for(int j=1;j<=i;++j) C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;
	}
	while(T--) solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 6544kb

input:

3 123456789
3 2
5 5
7 7

output:

18
7145
2066323

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 6792kb

input:

100 2
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #3:

score: 0
Accepted
time: 1ms
memory: 6192kb

input:

100 3
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
0
1
2
0
1
2
0
1
2
0
0
2
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
1
2
0
1
2
0
1
2
0
1
2
2
0
2
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
2
2
0
2
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
2
0
1
2
0
1
2
0
1

result:

ok 100 lines

Test #4:

score: 0
Accepted
time: 1ms
memory: 5748kb

input:

100 4
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
0
1
2
3
0
1
2
2
2
0
0
2
2
0
0
2
2
3
2
3
0
3
2
3
0
3
2
0
0
0
0
0
0
0
0
0
0
1
2
3
0
1
2
3
0
1
2
2
0
2
0
2
0
2
0
2
0
3
0
3
0
3
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
1
2
3
0
1
2
3
0
1
2
2
0
2
0
2
0
2
0
2
0

result:

ok 100 lines

Test #5:

score: 0
Accepted
time: 1ms
memory: 5960kb

input:

100 5
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
0
1
2
3
4
0
2
1
2
0
0
2
1
2
0
0
3
3
1
3
0
3
3
1
3
0
4
4
2
4
0
4
4
2
4
0
0
0
0
0
0
0
0
0
0
0
1
2
3
4
0
1
2
3
4
0
2
3
3
2
0
2
3
3
2
0
3
4
1
2
0
3
4
1
2
0
4
4
4
4
0
4
4
4
4
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #6:

score: 0
Accepted
time: 1ms
memory: 5844kb

input:

100 6
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
0
1
2
3
4
2
0
0
2
0
0
2
0
0
2
3
0
3
0
3
0
3
0
3
0
4
2
0
4
2
0
4
2
0
4
5
2
3
2
5
0
5
2
3
2
0
0
0
0
0
0
0
0
0
0
1
0
3
4
3
0
1
0
3
4
2
2
0
2
2
0
2
2
0
2
3
0
3
0
3
0
3
0
3
0
4
2
0
4
2
0
4
2
0
4

result:

ok 100 lines

Test #7:

score: 0
Accepted
time: 1ms
memory: 6860kb

input:

100 7
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
6
0
1
2
3
2
6
5
6
2
0
0
2
6
5
3
4
2
3
6
3
0
3
4
2
4
2
3
5
2
5
0
4
2
3
5
5
3
6
5
4
0
5
5
3
6
0
6
1
1
6
0
6
0
6
0
0
0
0
0
0
0
0
0
0
1
2
3
4
5
6
0
1
2
3
2
1
4
4
1
2
0
2
1
4
3
3
4
3
4
4
0
3
3
4

result:

ok 100 lines

Test #8:

score: 0
Accepted
time: 1ms
memory: 5968kb

input:

100 8
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
6
7
0
1
2
2
6
4
4
6
2
0
0
2
6
3
2
3
4
3
6
3
0
3
2
4
4
0
0
4
4
0
0
4
4
5
6
3
4
1
2
7
0
5
6
6
4
6
0
6
4
6
0
6
4
7
4
3
0
7
4
3
0
7
4
0
0
0
0
0
0
0
0
0
0
1
6
3
4
5
2
7
0
1
6
2
4
6
0
2
4
6
0
2
4

result:

ok 100 lines

Test #9:

score: 0
Accepted
time: 1ms
memory: 5892kb

input:

100 9
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
6
7
8
0
1
2
6
3
2
3
6
2
0
0
2
3
0
6
0
6
3
6
3
0
3
4
8
3
4
5
6
4
2
0
4
5
2
0
2
8
0
8
5
0
5
6
0
0
6
0
0
6
0
0
6
7
3
6
1
3
3
4
3
0
7
8
8
6
5
8
3
2
8
0
8
0
0
0
0
0
0
0
0
0
0
1
8
3
4
2
6
7
5
0
1

result:

ok 100 lines

Test #10:

score: 0
Accepted
time: 1ms
memory: 5740kb

input:

100 10
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 ...

output:

1
2
3
4
5
6
7
8
9
0
2
6
2
0
0
2
6
2
0
0
3
8
1
8
5
8
3
6
3
0
4
4
2
4
0
4
4
2
4
0
5
0
5
0
5
0
5
0
5
0
6
2
8
4
0
6
2
8
4
0
7
8
3
2
5
2
3
8
7
0
8
4
6
2
0
8
4
6
2
0
9
4
9
4
5
4
9
4
9
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #11:

score: 0
Accepted
time: 1ms
memory: 6476kb

input:

100 11
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 ...

output:

1
2
3
4
5
6
7
8
9
10
2
6
1
9
8
9
1
6
2
0
3
7
7
9
8
10
10
3
6
3
4
0
5
5
10
10
8
9
9
6
5
0
4
10
6
7
10
4
2
7
6
10
4
5
3
2
0
7
2
5
7
5
2
8
6
1
6
0
3
6
8
6
6
3
2
4
8
3
6
9
9
8
10
2
8
6
10
9
3
1
10
0
4
3
0
6
0
7
4
9

result:

ok 100 lines

Test #12:

score: -100
Wrong Answer
time: 68ms
memory: 9524kb

input:

10 972033073
576 523187654
758 588616188
30 532959085
476 481773028
573 76725430
520 142462406
865 820120297
687 526533288
913 38106557
67 924529654

output:

34729087
568251795
120589447
596239096
500273894
695573176
201344759
3958411
252329982
106230607

result:

wrong answer 1st lines differ - expected: '259748390', found: '34729087'