1 条题解
-
0
疑惑为何针对这段代码C++效率比C高,等找到原因回来更新
推测
- 循环部分有激进优化空间
- bool类型C++有底层优化
前缀和优化
AC代码
#define max(a, b) (a > b ? a : b) #define min(a, b) (a < b ? a : b) bool w[2000000]; int p[2000000]; int main() { init(); int n,m,q; read(n);read(m);read(q); for (int i = 0; i < m; i++) { int k;read(k); for (int j = max(1, k - 7); j <= min(n, k + 7); j++) { w[j] = 1; } } for (int i = 1; i <= n; i++) { p[i] = p[i - 1] + w[i]; } while (q--) { int l,r;read(l);read(r); write(p[r] - p[l-1]); push('\n'); } return 0; }
信息
- ID
- 140
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 100
- 已通过
- 8
- 上传者