Submission #938960

#TimeUsernameProblemLanguageResultExecution timeMemory
938960riaritiModsum (NOI12_modsum)C++17
25 / 25
1 ms600 KiB
#line 1 "MODSUM.cpp"
#include <bits/stdc++.h>

constexpr int K = 5;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n;
    std::cin >> n;
    std::vector<int> v(n), w(n);
    for (int i = 0; i < 2 * n; i++) {
        auto k = i / 2;
        std::cin >> (i % 2 ? w[k] : v[k]);
    }

    std::array<int, K> cnt{};
    cnt[0] = 1;
    for (int i = 0; i < n; i++) {
        std::array<int, 5> cur{};

        for (int j = v[i]; j <= w[i]; j++) {
            for (int k = 0; k < K; k++) {
                cur[(j + k) % K] += cnt[k];
            }
        }

        std::swap(cnt, cur);
    }

    std::int64_t ans = 0;

    for (int i = 0; i < K; i++) {
        std::int64_t v = std::pow(i, 4) + 2 * std::pow(i, 2);

        ans += cnt[i] * (v % K + 1);
    }

    std::cout << ans << "\n";

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...