哪位dalao帮我看一下,为什么就第一组数据过不了

P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目

```cpp #include <iostream> #include <cmath> #include <algorithm> using namespace std; const int MAX_N = 1e5 + 9; int C[MAX_N], a[MAX_N]; int n, w; long long sum = 0; int lowbit(int x) { return x & (-x); } int getsum(int x) { int res = 0; for(; x; x -= lowbit(x)) { res += C[x]; } return res; } void change(int x, int c) { for(;x <= n; x += x & (-x)) { C[x] += c; } } void init() { cin >> n >> w; for(int i = 1; i <= n; i++) { int x, y; cin >> x >> y; change(x, y); a[i] = x; sum += y; } } int maxx(int x, int y) { if(x > y) return x; return y; } int main() { init(); long long h = -1; sort(a + 1, a + n + 1); for(int i = 1; i <= n; i++) { if(a[i] >= w && w != 0) { h = maxx(h, getsum(a[i]) - getsum(a[i] - w)); } } if(w == 0) { h = sum; } cout << h << endl; return 0; } ```
by dlstxdy @ 2018-09-24 17:12:02


我是加了特判的啊
by dlstxdy @ 2018-09-24 17:12:59


你再特判第一组数据就应该可以过了
by Clever_Jimmy @ 2018-09-24 17:13:36


话说为什么在这道题的讨论里面?
by Clever_Jimmy @ 2018-09-24 17:14:15


@[Clever_Jimmy](/space/show?uid=78407) 不会切换啊
by dlstxdy @ 2018-09-24 17:23:17


而且数据下不了
by dlstxdy @ 2018-09-24 17:24:26


|