Submission #1272824

#TimeUsernameProblemLanguageResultExecution timeMemory
1272824ortsacInspections (NOI23_inspections)C++20
0 / 100
1 ms648 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define fr first #define se second const int MAXV = 10; int sft[MAXV + 10]; int32_t main() { int n, m, q; cin >> n >> m >> q; vector<int> l(m), r(m); for (int i = 0; i < m; i++) { cin >> l[i] >> r[i]; } for (int i = 1; i <= n; i++) { int prv = -1; int sum = 0; for (int j = 0; j < m; j++) { if ((l[j] <= i) && (i <= r[j])) { int t = (sum + i - l[j] + 1); if (prv != -1) { sft[t - prv - 1]++; } prv = t; } sum += (r[j] - l[j] + 1); } } deque<pii> ord; for (int i = 0; i < q; i++) { int s; cin >> s; ord.push_back({s, i}); } sort(ord.begin(), ord.end()); int res = 0; vector<int> ans(q); for (int i = MAXV; i >= 0; i--) { res += sft[i]; while (!ord.empty() && (ord.back().fr >= i)) { ans[ord.back().se] = res; ord.pop_back(); } } for (auto u : ans) cout << u << " "; cout << "\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...