最高的牛
分析
见《进阶指南》第24
页。
实现
#include <iostream>
using namespace std;
const int N = 10010;
int c[N], d[N];
int main () {
int n, p, h, m;
scanf("%d%d%d%d", &n, &p, &h, &m);
for (int i = 1, a, b; i <= m; ++ i) {
scanf("%d%d", &a, &b); // a < b
-- d[a + 1];
++ d[b];
}
for (int i = 1; i <= n; ++ i) {
c[i] = c[i - 1] + d[i];
printf("%d\n", c[i] + h);
}
return 0;
}