제출 #1111612

#제출 시각아이디문제언어결과실행 시간메모리
1111612itslqTrains (BOI24_trains)C++17
0 / 100
25 ms760 KiB
#include <bits/stdc++.h>
using namespace std;

int N;
const int MAX = 1e5, MOD = 1e9 + 7;
vector<int> fenwick(MAX + 5);

void update(int n, int v) {
    for (; n <= N; n += n & -n) {
        fenwick[n] = (fenwick[n] + v) % MOD;
    }
}

int query(int n) {
    int S = 0;
    for (; n > 0; n -= n & -n) {
        S = (S + fenwick[n]) % MOD;
    }
    return S;
}

int main() {
    cin >> N;
    int D, X, S = 0;
    update(1, 1);
    for (int i = 1; i <= N; i++) {
        cin >> D >> X;
        if (!D) continue;
        const int Q = query(i);
        update(i + 1, Q);
        update(i + X + 1, -Q);
    }

    for (int i = 1; i <= N; i++) {
        S = (S + query(i)) % MOD;
    }

    cout << (S + MOD) % MOD;
}
#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...