Submission #863894

#TimeUsernameProblemLanguageResultExecution timeMemory
863894RifalAutobahn (COI21_autobahn)C++14
50 / 100
3 ms2864 KiB
#include <bits/stdc++.h> #include <fstream> //#define endl '\n' #define mod 1000000007 #define INF 900000000 using namespace std; //ofstream fout("intel.out"); //ifstream fin("intel.in"); const int Max = 1e4; int cnt[Max], cnt2[Max]; struct Tri { int l, t, r; }; int main() { ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0); int n, k, x; cin >> n >> k >> x; Tri arr[n]; for(int i = 0; i < n;i++) { cin >> arr[i].l >> arr[i].t >> arr[i].r; cnt[arr[i].l]++; cnt[arr[i].r+1]--; } for(int i = 1; i <= 1000; i++) { cnt[i] += cnt[i-1]; } for(int i = 0; i < n; i++) { if(arr[i].r-arr[i].l+1 <= arr[i].t) continue; cnt2[arr[i].l+arr[i].t]++; cnt2[arr[i].r+1]--; } for(int i = 1; i <= 1000; i++) { cnt2[i] += cnt2[i-1]; } long long ans = 0; for(int i = 1; i <= 1000; i++) { long long sum = 0; for(int j = i; j <= min(i+x-1,1000); j++) { // cout << j << ' '; if(cnt[j] >= k) { sum += cnt2[j]; // cout << 'f' << j << ' ' << cnt[j] << ' ' << cnt2[j] << ' ' << sum << 'f' << endl; } } /// cout << 'k' << endl; ans = max(ans,sum); } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...