Submission #1188911

#TimeUsernameProblemLanguageResultExecution timeMemory
1188911caterpillowInspections (NOI23_inspections)C++20
100 / 100
469 ms26812 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define f first #define s second main() { cin.tie(0)->sync_with_stdio(0); int n, m, q; cin >> n >> m >> q; map<ll, ll> last {{0, 1e18}, {1e18, 1e18}}; map<ll, ll> cnt; ll time = 0; while (m--) { ll l, r; cin >> l >> r; r++; auto it = prev(last.upper_bound(l)); while (it->f < r) { cnt[time - it->s - (l - it->f)] += min(next(it)->f, r) - max(it->f, l); it++; } it = last.insert({r, prev(it)->s + (r - prev(it)->f)}).f; last.erase(last.lower_bound(l), it); last[l] = time; time += r - l; } ll pfx = 0; for (auto &[k, v] : cnt) { v = (pfx += v); } while (q--) { ll x; cin >> x; cout << pfx - prev(cnt.lower_bound(x + 1))->second << ' '; } }

Compilation message (stderr)

Main.cpp:9:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    9 | main() {
      | ^~~~
#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...