Submission #1279445

#TimeUsernameProblemLanguageResultExecution timeMemory
1279445hynmjInspections (NOI23_inspections)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const long long N = 3e3 + 5; int a[1500 * N]; int l[N]; int r[N]; int last[N]; vector<int> distances[N]; void solve() { int n, m, q; cin >> n >> m >> q; int j = 1; for (int i = 0; i < m; i++) { cin >> l[i] >> r[i]; // cout << l[i] << " " << r[i] << endl; for (int k = l[i]; k <= r[i]; k++, j++) { a[j] = k; } // for (int i = 0; i < 10; i++) // { // cout << a[i] << " "; // } // cout << endl; } for (int i = 0; i < j; i++) { // cout << a[i] << " "; if (last[a[i]] != 0) { distances[a[i]].push_back(i - last[a[i]]); } last[a[i]] = i; } // cout << endl; for (int i = 0; i < n; i++) { // cout << " i = " << i << endl; if (distances[i].size() > 2) { sort(distances[i].begin(), distances[i].end()); } // if (distances[i].size()) // { // cout << distances[i].size() << endl; } // for (int j : distances[3]) // { // cout << j << " "; // } // // } // cout << endl; int e; for (int i = 0; i < q; i++) { cin >> e; int ans = 0; for (int i = 1; i < n; i++) { // cout << i << " " << ans << " " << e << endl; // cout << distances[i].size() << " " << max(0ll, (int)(lower_bound(distances[i].begin(), distances[i].end(), e) - distances[i].begin())) << endl; ans += distances[i].size() - max(0ll, (int)(upper_bound(distances[i].begin(), distances[i].end(), e) - distances[i].begin())); } cout << ans << endl; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int t = 1; // cin >> t; for (int i = 1; i <= t; i++) { // cout << "Case #" << i << ':' << ' '; solve(); cout << endl; } 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...