Submission #10216306


Source Code Expand

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
const int maxn = 9e5 + 7, md = 1e9 + 7;
ll inv[maxn], finv[maxn], fac[maxn], f[maxn], p2[maxn], p3[maxn];
ll N, M, K, m, k;
ll read(){
    int s = 0; char c = getchar();
    while (c > '9' || c < '0') c = getchar();
    while (c >= '0' && c <= '9') s = s * 10 + c - '0', c = getchar();
    return s;
}
ll ksm(ll a, int b){
    ll res = 1;
    while (b){
        if (b & 1) res = res * a % md;
        a = a * a % md;
        b >>=1 ;
    }
    return res;
}
void init(){
    fac[0] = fac[1] = 1; inv[1] = finv[1] = 1;
    p3[1] = 3;p3[0] = 1;
    for (int i = 2; i < maxn; i++) p3[i] = p3[i - 1] * 3 % md;
    for (int i = 2; i < maxn; i++){
        inv[i] = ( md - (md / i) * inv[md%i] % md) % md;
    }
    for (ll i = 1; i < maxn; i++) {
        fac[i] = fac[i - 1] * i % md;
    }
    finv[maxn - 1] = ksm(fac[maxn - 1], md - 2);
    for (ll i = maxn - 2; i >= 0; i--) finv[i] = finv[i + 1] * (i + 1) % md;
    
}
ll ans = 0;
ll getf(){
    ll res = 0;
    f[0] = p3[M];
    res = f[0];
    for (int i = 1; i <= M; i++)
        f[i] = (((((f[i - 1] * (N - 1 + i + k) % md + md) % md ) * inv[3]) % md) * inv[i] + md) % md, res = ((res + f[i]) % md + md) % md;
    return res;
}
ll C(int x, int y){
    return fac[x] * finv[y] % md * finv[x - y] % md;
}
int main(){
    N = read(), M = read(), K = read();
    init();
    for (k = 0; k <= K; k++) {
        ans = (ans + p3[K-k] * C(N - 1 + k, k) % md * getf() % md);
    }
    printf("%lld\n", ans % md);
    return 0;
}

Submission Info

Submission Time
Task F - Card Game for Three
User luogu_bot1
Language C++ (GCC 5.4.1)
Score 500
Code Size 1626 Byte
Status TLE
Exec Time 3156 ms
Memory 36224 KB

Judge Result

Set Name Sample subtask1 All
Score / Max Score 0 / 0 500 / 500 0 / 600
Status AC
AC × 10
AC × 16
TLE × 8
Set Name Test Cases
Sample
subtask1 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
All sample_01.txt, sample_02.txt, sample_03.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, subtask2_01.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, subtask2_11.txt
Case Name Status Exec Time Memory
sample_01.txt AC 31 ms 32128 KB
sample_02.txt AC 31 ms 32128 KB
sample_03.txt AC 51 ms 32128 KB
subtask1_01.txt AC 31 ms 32128 KB
subtask1_02.txt AC 51 ms 32128 KB
subtask1_03.txt AC 51 ms 32128 KB
subtask1_04.txt AC 31 ms 32128 KB
subtask1_05.txt AC 31 ms 32128 KB
subtask1_06.txt AC 31 ms 32128 KB
subtask1_07.txt AC 35 ms 32128 KB
subtask1_08.txt AC 41 ms 32128 KB
subtask1_09.txt AC 31 ms 32128 KB
subtask1_10.txt AC 32 ms 32128 KB
subtask2_01.txt TLE 3156 ms 36224 KB
subtask2_02.txt TLE 3156 ms 34176 KB
subtask2_03.txt TLE 3156 ms 34176 KB
subtask2_04.txt AC 102 ms 34176 KB
subtask2_05.txt TLE 3156 ms 34176 KB
subtask2_06.txt TLE 3156 ms 36224 KB
subtask2_07.txt TLE 3156 ms 36224 KB
subtask2_08.txt AC 1960 ms 32128 KB
subtask2_09.txt TLE 3156 ms 34176 KB
subtask2_10.txt TLE 3156 ms 36224 KB
subtask2_11.txt AC 31 ms 32128 KB