Submission #1330334

#TimeUsernameProblemLanguageResultExecution timeMemory
1330334JerToll (BOI17_toll)C++20
7 / 100
15 ms888 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 50005;
int sum[MAXN], disc[MAXN], r[MAXN]; // r[i] -> edge i, i + 1

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

    int k, n, m, q;

    cin >> k >> n >> m >> q;

    fill(r, r + MAXN, -1);
    int a, b, t;

    for (int i = 0; i < m; i++)
        cin >> a >> b >> t, r[a + 1] = t;

    for (int i = 1; i <= n; i++)
        sum[i] = sum[i - 1] + max(0, r[i]),
        disc[i] = disc[i - 1] + (r[i] == -1);

    while (q--)
    {
        cin >> a >> b;
        if (disc[b] - disc[a] > 0)
            cout << "-1\n";
        else
            cout << sum[b] - sum[a] << '\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...