Submission #832619

#TimeUsernameProblemLanguageResultExecution timeMemory
832619LiudasInspections (NOI23_inspections)C++17
0 / 100
1 ms212 KiB
#include <iostream> #include <vector> #include <set> #include <map> #include <algorithm> using namespace std; int main(){ int N, Q, M; cin >> N >> M >> Q; vector<vector<int>> arr(N); int day = 0; for(int i = 0; i < M; i ++){ int a, b; cin >> a >> b; for(int j = a-1; j < b; j ++){ arr[j].push_back(day++); } } for(int i : arr[2])cout << i << endl; vector<vector<pair<int, int>>> pref(N); for(int i = 0; i < N; i ++){ map<int, int> vals; for(int j = 1; j < (int)arr[i].size(); j ++){ vals[arr[i][j] - arr[i][j-1] - 1]++; } for(auto[l, r] : vals){ pref[i].push_back(make_pair(l, r)); } pref[i].push_back({1e9,0}); //sort(pref[i].begin(), pref[i].end()); for(int j = ((int)pref[i].size())-2; j >= 0; j --){ pref[i][j].second += pref[i][j+1].second; } } for(int i = 0; i < Q; i ++){ int q; cin >> q; int c = 0; for(int j = 0; j < N; j ++){ c += (*lower_bound(pref[j].begin(), pref[j].end(), make_pair(q, 0))).second; } //cout << endl; cout << c << " "; } 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...