이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |