QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#107676#5749. Directed Vertex CactiCringAC ✓15ms11316kbC++141.0kb2023-05-22 14:06:252023-05-22 14:06:27

Judging History

This is the latest submission verdict.

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-22 14:06:27]
  • Judged
  • Verdict: AC
  • Time: 15ms
  • Memory: 11316kb
  • [2023-05-22 14:06:25]
  • Submitted

answer

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=1e6+10,LIM=1e6,mod=1e9+9;
ll mypow(ll a,ll n){
	if(!n)return 1;
	ll tmp=mypow(a,n/2);
	tmp=tmp*tmp%mod;
	if(n&1)tmp=tmp*a%mod;
	return tmp;
}
ll myinv(ll a){
	return mypow(a,mod-2);
}
void add(ll& x,ll y){
	x=(x+y)%mod;
}
void sub(ll& x,ll y){
	x=(x-y+mod)%mod;
}
ll addv(ll x,ll y){
	return (x+y)%mod;
}
ll subv(ll x,ll y){
	return (x-y+mod)%mod;
}

ll n,m;
ll fact[MAXN];

int main(){
	cin>>n>>m;
	fact[0]=1;rep(i,1,LIM)fact[i]=fact[i-1]*i%mod;

	ll ans = fact[n] * myinv(fact[m])%mod;	
	
	ll N=n*(n-1)/2;N%=mod;
	rep(i,1,m){
		ans = ans*subv(N,i-1)%mod;
	}
	cout<<ans<<endl;

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 11152kb

input:

3 1

output:

18

result:

ok 1 number(s): "18"

Test #2:

score: 0
Accepted
time: 3ms
memory: 11072kb

input:

4 4

output:

360

result:

ok 1 number(s): "360"

Test #3:

score: 0
Accepted
time: 12ms
memory: 11144kb

input:

39847 348708

output:

983575456

result:

ok 1 number(s): "983575456"

Test #4:

score: 0
Accepted
time: 5ms
memory: 11136kb

input:

1 1

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 10ms
memory: 11084kb

input:

3 2

output:

18

result:

ok 1 number(s): "18"

Test #6:

score: 0
Accepted
time: 2ms
memory: 11148kb

input:

3 3

output:

6

result:

ok 1 number(s): "6"

Test #7:

score: 0
Accepted
time: 5ms
memory: 11268kb

input:

3 4

output:

0

result:

ok 1 number(s): "0"

Test #8:

score: 0
Accepted
time: 5ms
memory: 11128kb

input:

3 1000000

output:

0

result:

ok 1 number(s): "0"

Test #9:

score: 0
Accepted
time: 2ms
memory: 11080kb

input:

4 1

output:

144

result:

ok 1 number(s): "144"

Test #10:

score: 0
Accepted
time: 7ms
memory: 11124kb

input:

4 2

output:

360

result:

ok 1 number(s): "360"

Test #11:

score: 0
Accepted
time: 10ms
memory: 11152kb

input:

4 3

output:

480

result:

ok 1 number(s): "480"

Test #12:

score: 0
Accepted
time: 5ms
memory: 11124kb

input:

4 5

output:

144

result:

ok 1 number(s): "144"

Test #13:

score: 0
Accepted
time: 5ms
memory: 11316kb

input:

4 6

output:

24

result:

ok 1 number(s): "24"

Test #14:

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

input:

5 1

output:

1200

result:

ok 1 number(s): "1200"

Test #15:

score: 0
Accepted
time: 3ms
memory: 11156kb

input:

5 2

output:

5400

result:

ok 1 number(s): "5400"

Test #16:

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

input:

5 3

output:

14400

result:

ok 1 number(s): "14400"

Test #17:

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

input:

5 4

output:

25200

result:

ok 1 number(s): "25200"

Test #18:

score: 0
Accepted
time: 5ms
memory: 11260kb

input:

5 5

output:

30240

result:

ok 1 number(s): "30240"

Test #19:

score: 0
Accepted
time: 11ms
memory: 11124kb

input:

5 6

output:

25200

result:

ok 1 number(s): "25200"

Test #20:

score: 0
Accepted
time: 3ms
memory: 11072kb

input:

5 7

output:

14400

result:

ok 1 number(s): "14400"

Test #21:

score: 0
Accepted
time: 5ms
memory: 11076kb

input:

5 8

output:

5400

result:

ok 1 number(s): "5400"

Test #22:

score: 0
Accepted
time: 5ms
memory: 11148kb

input:

5 9

output:

1200

result:

ok 1 number(s): "1200"

Test #23:

score: 0
Accepted
time: 3ms
memory: 11312kb

input:

5 10

output:

120

result:

ok 1 number(s): "120"

Test #24:

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

input:

1000 1

output:

533396879

result:

ok 1 number(s): "533396879"

Test #25:

score: 0
Accepted
time: 5ms
memory: 11144kb

input:

1000 100

output:

199484478

result:

ok 1 number(s): "199484478"

Test #26:

score: 0
Accepted
time: 6ms
memory: 11072kb

input:

1000 10000

output:

656650652

result:

ok 1 number(s): "656650652"

Test #27:

score: 0
Accepted
time: 15ms
memory: 11152kb

input:

1000 1000000

output:

0

result:

ok 1 number(s): "0"

Test #28:

score: 0
Accepted
time: 3ms
memory: 11124kb

input:

535164 619302

output:

721871396

result:

ok 1 number(s): "721871396"

Test #29:

score: 0
Accepted
time: 11ms
memory: 11308kb

input:

1000000 1000000

output:

580712335

result:

ok 1 number(s): "580712335"

Test #30:

score: 0
Accepted
time: 2ms
memory: 11312kb

input:

1000000 234534

output:

546630669

result:

ok 1 number(s): "546630669"

Test #31:

score: 0
Accepted
time: 9ms
memory: 11084kb

input:

234523 1000000

output:

127869098

result:

ok 1 number(s): "127869098"

Test #32:

score: 0
Accepted
time: 5ms
memory: 11148kb

input:

44722 10000

output:

0

result:

ok 1 number(s): "0"