Submission #499968

#TimeUsernameProblemLanguageResultExecution timeMemory
499968kappaAutobahn (COI21_autobahn)C++14
0 / 100
1 ms308 KiB
#include <bits/stdc++.h> using namespace std; struct person{ int begin; int pay; int end; }; int n, k, x, maxEnd, ans, val[100005], p[100005]; person d[100005]; int main(){ cin >> n >> k >> x; for (int i = 0; i < n; i++) { cin >> d[i].begin >> d[i].pay >> d[i].end; maxEnd = max(maxEnd, d[i].end); d[i].begin--; d[i].end--; } for (int i = 0; i < maxEnd; i++) { for (int j = 0; j < n; j++) { if(i >= d[j].begin && i <= d[j].end){ p[i]++; } } } for (int i = 0; i < maxEnd; i++) { val[i] = val[i - 1]; if(p[i] < k) continue; for (int j = 0; j < n; j++) { if(i > d[j].begin + d[j].pay - 1 && i >= d[j].begin && i <= d[j].end){ //cout << "i " << i << " lim " << d[j].begin + d[j].pay - 1 << " bas " << d[j].begin << " son " << d[j].end << "\n"; val[i]++; } } } for (int i = 0; i < maxEnd - x; i++) { ans = max(ans, val[i + x - 1] - val[i - 1]); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...