Submission #1351055

#TimeUsernameProblemLanguageResultExecution timeMemory
1351055kasamchiLegendary Dango Eater (JOI26_dango)C++20
6 / 100
2595 ms5380 KiB
#include <bits/stdc++.h>
using namespace std;

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

    int N, Q;
    long long K;
    cin >> N >> Q >> K;

    vector<int> A(N + 1);
    for (int i = 1; i <= N; i++) {
        cin >> A[i];
    }

    vector<int> B(N + 1);
    for (int i = 1; i <= N; i += 2) {
        B[i] = A[i] % K;
        A[i] = A[i] / K;
    }
    for (int i = 2; i <= N; i += 2) {
        B[i] = max(-K, (long long)-A[i]);
        A[i] = 0;
    }

    while (Q--) {
        int L, R;
        cin >> L >> R;
        if (~L & 1) {
            L++;
        }
        if (~R & 1) {
            R--;
        }

        if (L > R) {
            cout << "0\n";
        } else {
            long long ans = 0, rem = 0;
            for (int i = L; i <= R; i++) {
                rem = max(0LL, rem + B[i]);
                ans += rem / K + A[i];
                rem %= K;
            }
            cout << ans << '\n';
        }
    }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...