Submission #1165078


Source Code Expand

#include <cstdio>
#include <cstdint>
#include <algorithm>
#include <vector>

int64_t moddiv(int64_t a, int64_t b, int64_t mod) {
    int64_t s=mod, t=b, u=1, v=0;
    while (s) {
        int64_t e=t/s;
        std::swap(t-=e*s, s);
        std::swap(u-=e*v, v);
    }

    if (u < 0)
        u += mod;

    return a*u % mod;
}

int64_t mod_choose(int64_t n, int64_t k, int64_t mod) {
    int64_t c=1, d=1;
    for (int64_t i=n%mod, j=k; (i && j); (--i && --j)) {
        (c *= i) %= mod;
        (d *= j) %= mod;
    }

    return moddiv(c, d, mod) % mod;
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);

    printf("%lld\n", mod_choose(n+k-1, n-1, 1e9+7));
    return 0;
}

Submission Info

Submission Time
Task D - 多重ループ
User rsk0315
Language C++14 (GCC 5.4.1)
Score 100
Code Size 720 Byte
Status AC
Exec Time 2 ms
Memory 128 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:34:51: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64_t {aka long int}’ [-Wformat=]
     printf("%lld\n", mod_choose(n+k-1, n-1, 1e9+7));
                                                   ^
./Main.cpp:32:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &n, &k);
                           ^

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 0 ms 128 KB
subtask0_sample_02.txt AC 0 ms 128 KB
subtask0_sample_03.txt AC 1 ms 128 KB
subtask0_sample_04.txt AC 0 ms 128 KB
subtask0_sample_05.txt AC 2 ms 128 KB
subtask1_01.txt AC 0 ms 128 KB
subtask1_02.txt AC 1 ms 128 KB
subtask1_03.txt AC 0 ms 128 KB
subtask1_04.txt AC 1 ms 128 KB
subtask1_05.txt AC 1 ms 128 KB
subtask1_06.txt AC 1 ms 128 KB
subtask1_07.txt AC 0 ms 128 KB
subtask1_08.txt AC 0 ms 128 KB
subtask1_09.txt AC 1 ms 128 KB
subtask1_10.txt AC 0 ms 128 KB
subtask1_11.txt AC 1 ms 128 KB
subtask1_12.txt AC 1 ms 128 KB
subtask1_13.txt AC 1 ms 128 KB
subtask1_14.txt AC 1 ms 128 KB
subtask1_15.txt AC 0 ms 128 KB
subtask1_16.txt AC 1 ms 128 KB
subtask1_17.txt AC 1 ms 128 KB
subtask1_18.txt AC 0 ms 128 KB
subtask1_19.txt AC 1 ms 128 KB
subtask2_02.txt AC 1 ms 128 KB
subtask2_03.txt AC 2 ms 128 KB
subtask2_04.txt AC 1 ms 128 KB
subtask2_05.txt AC 2 ms 128 KB
subtask2_06.txt AC 1 ms 128 KB
subtask2_07.txt AC 2 ms 128 KB
subtask2_08.txt AC 2 ms 128 KB
subtask2_09.txt AC 0 ms 128 KB
subtask2_10.txt AC 2 ms 128 KB