//Inspections_NOI 2023 Finals
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m, q;
cin >> n >> m >> q;
//Create a vector of running machines in order
int l, r;
vector <int> machines;
for (int i = 0; i < m; ++i) {
cin >> l >> r;
for (int k = 0; k < r - l + 1; ++k) {
machines.push_back(l + k);
}
}
//Vector of m vectors, consisting of the days to run the machine
vector <vector<int>> days(m);
for (int i = 0; i < machines.size(); ++i) {
int machine = machines[i];
days[machine-1].push_back(i+1);
}
//Vector of m vectors, consisting of the days between the running days
int gap;
vector<vector<int>> gaps(m);
for(int i = 0; i<m ; ++i) {
if (days[i].size() == 1) {
gaps.at(i).push_back(-1);
}
else {
for(int k = 0; k<days.at(i).size() -1; ++k){
gap = days.at(i).at(k+1) - days.at(i).at(k);
gaps.at(i).push_back(gap);
}}
}
//Create a vector of inspections
vector <int> inspects;
int safeval;
for (int i = 0; i<q; ++i) {
int inspect = 0;
cin >> safeval;
for (auto machine : gaps) {
for (auto gap : machine){
if(gap >= safeval) inspect++;
}
}
inspects.push_back(inspect);
}
//Output the number of inspections
for (auto i : inspects) {
cout << i << " ";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |