Submission #4024139


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = int64_t;
using P = pair<ll, ll>;
const ll INF = 5e15;
const ll MOD = 1e9 + 7;

class Combination {
    public:
        ll N;
        ll MOD;
        ll *fact;

        /*
         * MOD must be a prime number.
         */
        Combination(ll N, ll MOD){
            this->N = N;
            this->MOD = MOD;
            fact = new ll[N + 1];
            fact[0] = 1;
            for(ll i = 1; i <= N; i++){
                fact[i] = fact[i - 1] * i % MOD;
            }
        }

        ll pow(ll a, ll b){
            return b ? (b & 1 ? a : 1) * pow(a * a % MOD, b / 2) % MOD : 1;
        }

        ll comb(ll n, ll k){
            return fact[n] * pow(fact[n - k] * fact[k] % MOD, MOD - 2) % MOD;
        }
};

int main(){
    Combination C(1e5 + 10, MOD);
    ll N;
    cin >> N;
    vector<ll> W(N);
    for(ll &w : W) cin >> w;
    ll ans = 0;
    vector<ll> cnt(N + 1);
    for(ll i = 2; i <= N; i++) cnt[i] = C.fact[i - 1] * C.fact[N - i] % MOD * C.comb(N, i) % MOD;
    vector<ll> sum(N + 1);
    for(ll i = 2; i <= N; i++) sum[i] = sum[i - 1] + cnt[i];
    for(ll i = 0; i < N; i++){
        (ans += W[i] * C.fact[N] % MOD) %= MOD;
        (ans += sum[i + 1] * W[i] % MOD) %= MOD;
        (ans += sum[N - i] * W[i] % MOD) %= MOD;
    }
    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task B - Removing Blocks
User kcvlex
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1404 Byte
Status WA
Exec Time 136 ms
Memory 3328 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 3
AC × 7
WA × 12
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, sample-01.txt, sample-02.txt, sample-03.txt, subtask01-01.txt, subtask01-02.txt, subtask01-03.txt, subtask01-04.txt, subtask01-05.txt, subtask01-06.txt, subtask01-07.txt, subtask01-08.txt, subtask01-09.txt, subtask01-10.txt, subtask01-11.txt, subtask01-12.txt, subtask01-13.txt
Case Name Status Exec Time Memory
sample-01.txt AC 2 ms 1024 KB
sample-02.txt AC 2 ms 1024 KB
sample-03.txt AC 2 ms 1024 KB
subtask01-01.txt AC 2 ms 1024 KB
subtask01-02.txt WA 102 ms 2816 KB
subtask01-03.txt WA 80 ms 2432 KB
subtask01-04.txt WA 101 ms 2816 KB
subtask01-05.txt WA 35 ms 1664 KB
subtask01-06.txt WA 57 ms 2048 KB
subtask01-07.txt WA 35 ms 1664 KB
subtask01-08.txt WA 136 ms 3328 KB
subtask01-09.txt WA 136 ms 3328 KB
subtask01-10.txt WA 136 ms 3328 KB
subtask01-11.txt WA 136 ms 3328 KB
subtask01-12.txt WA 136 ms 3328 KB
subtask01-13.txt WA 136 ms 3328 KB