Submission #3001799
Source Code Expand
#include <bits/stdc++.h>
#define FOR(I,X,Y) for(int I=X;I<Y;I++)
#define REP(I,X,Y) for(int I=Y-1;I>=X;I--)
#define INF 1000000007
using namespace std;
vector<int> pow2{1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912};
vector<long long> factorial(2,1);
long long nckmodp(int n,int k,int p){
if(n < k || n <= 0 || k < 0)return 0;
while(factorial.size() <= n){
long long i = factorial.size();
factorial.push_back(i*factorial[i-1]%p);
}
long long n1 = factorial[n],n2 = factorial[k],n3 = factorial[n-k];
vector<long long> a2,a3;
FOR(i,0,pow2.size()){
a2.push_back(n2);
a3.push_back(n3);
n2 = (n2*n2)%p;
n3 = (n3*n3)%p;
}
n2 = 1;
n3 = 1;
FOR(i,0,pow2.size()){
if(pow2[i]&(p-2)){
n2 *= a2[i];
n3 *= a3[i];
n2 %= p;
n3 %= p;
}
}
return (n1*n2%p)*n3%p;
}
int main(){
int n,k;
cin >> n >> k;
cout << nckmodp(n-1+k,n-1,INF) << endl;
}
Submission Info
Submission Time |
|
Task |
D - 多重ループ |
User |
nu50218 |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1083 Byte |
Status |
AC |
Exec Time |
6 ms |
Memory |
2420 KB |
Judge Result
Set Name |
Sample |
Subtask1 |
All |
Score / Max Score |
0 / 0 |
99 / 99 |
1 / 1 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask0_sample_05.txt |
Subtask1 |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt |
All |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask0_sample_05.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_sample_01.txt |
AC |
1 ms |
256 KB |
subtask0_sample_02.txt |
AC |
1 ms |
256 KB |
subtask0_sample_03.txt |
AC |
1 ms |
256 KB |
subtask0_sample_04.txt |
AC |
1 ms |
256 KB |
subtask0_sample_05.txt |
AC |
6 ms |
2420 KB |
subtask1_01.txt |
AC |
1 ms |
256 KB |
subtask1_02.txt |
AC |
1 ms |
256 KB |
subtask1_03.txt |
AC |
1 ms |
256 KB |
subtask1_04.txt |
AC |
1 ms |
256 KB |
subtask1_05.txt |
AC |
1 ms |
256 KB |
subtask1_06.txt |
AC |
1 ms |
256 KB |
subtask1_07.txt |
AC |
1 ms |
256 KB |
subtask1_08.txt |
AC |
1 ms |
256 KB |
subtask1_09.txt |
AC |
1 ms |
256 KB |
subtask1_10.txt |
AC |
1 ms |
256 KB |
subtask1_11.txt |
AC |
1 ms |
256 KB |
subtask1_12.txt |
AC |
1 ms |
256 KB |
subtask1_13.txt |
AC |
1 ms |
256 KB |
subtask1_14.txt |
AC |
1 ms |
256 KB |
subtask1_15.txt |
AC |
1 ms |
256 KB |
subtask1_16.txt |
AC |
1 ms |
256 KB |
subtask1_17.txt |
AC |
2 ms |
384 KB |
subtask1_18.txt |
AC |
1 ms |
256 KB |
subtask1_19.txt |
AC |
1 ms |
256 KB |
subtask2_02.txt |
AC |
3 ms |
1400 KB |
subtask2_03.txt |
AC |
4 ms |
1400 KB |
subtask2_04.txt |
AC |
3 ms |
892 KB |
subtask2_05.txt |
AC |
5 ms |
2420 KB |
subtask2_06.txt |
AC |
2 ms |
640 KB |
subtask2_07.txt |
AC |
3 ms |
1400 KB |
subtask2_08.txt |
AC |
5 ms |
2420 KB |
subtask2_09.txt |
AC |
3 ms |
1400 KB |
subtask2_10.txt |
AC |
6 ms |
2420 KB |