Submission #385802


Source Code Expand

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <fstream>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
typedef long long ll;
#define REP(i, N) for (int i = 0; i < (int)N; i++)
const ll MOD = 1e9 + 7;

int N, K;
int fac[200000];
int inv[200000];

ll factorial(ll n) {
  if(n == 0) return 1;
  if(fac[n]) return fac[n];
  return fac[n] = n * factorial(n-1) % MOD;
}

ll binaryPower(ll a, ll r) {
  if(r == 0) return 1;
  if(r % 2 == 0) return binaryPower(a*a % MOD, r / 2);
  return a * binaryPower(a, r - 1) % MOD;
}

ll inverseFactorial(ll n) {
  if(inv[n]) return inv[n];
  if(n == N+K-1) return inv[n] = binaryPower(factorial(n), MOD - 2);
  return inv[n] = inverseFactorial(n+1) * (n+1) % MOD;
}

int main() {
  cin >> N >> K;
  ll ans = 0;
  ans = factorial(N+K-1) * inverseFactorial(N-1) % MOD;
  ans = ans * inverseFactorial(K) % MOD;
  cout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task D - 多重ループ
User en30
Language C++11 (GCC 4.9.2)
Score 100
Code Size 1328 Byte
Status AC
Exec Time 39 ms
Memory 5028 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 99 / 99 1 / 1
Status
AC × 5
AC × 23
AC × 33
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 22 ms 920 KB
subtask0_sample_02.txt AC 24 ms 924 KB
subtask0_sample_03.txt AC 23 ms 920 KB
subtask0_sample_04.txt AC 22 ms 840 KB
subtask0_sample_05.txt AC 39 ms 5028 KB
subtask1_01.txt AC 24 ms 776 KB
subtask1_02.txt AC 22 ms 800 KB
subtask1_03.txt AC 24 ms 796 KB
subtask1_04.txt AC 24 ms 932 KB
subtask1_05.txt AC 24 ms 924 KB
subtask1_06.txt AC 23 ms 800 KB
subtask1_07.txt AC 22 ms 928 KB
subtask1_08.txt AC 25 ms 760 KB
subtask1_09.txt AC 22 ms 804 KB
subtask1_10.txt AC 22 ms 924 KB
subtask1_11.txt AC 24 ms 932 KB
subtask1_12.txt AC 23 ms 792 KB
subtask1_13.txt AC 23 ms 792 KB
subtask1_14.txt AC 24 ms 796 KB
subtask1_15.txt AC 25 ms 764 KB
subtask1_16.txt AC 22 ms 800 KB
subtask1_17.txt AC 21 ms 800 KB
subtask1_18.txt AC 24 ms 928 KB
subtask1_19.txt AC 22 ms 924 KB
subtask2_02.txt AC 29 ms 2980 KB
subtask2_03.txt AC 34 ms 3880 KB
subtask2_04.txt AC 27 ms 2076 KB
subtask2_05.txt AC 34 ms 4256 KB
subtask2_06.txt AC 25 ms 1560 KB
subtask2_07.txt AC 34 ms 4644 KB
subtask2_08.txt AC 34 ms 4124 KB
subtask2_09.txt AC 33 ms 4640 KB
subtask2_10.txt AC 37 ms 5028 KB