题目:$\textsf{\textcolor{#F39C11}{P3353 在你窗外闪耀的星星}}$。
提交记录:
- 正确记录:R237916391。
错误原因:数组开长度 LEN($a_0 \sim a_{LEN - 1}$),使用时使用到 $a_{LEN}$。
#include <bits/stdc++.h>
using namespace std;
const int LEN = 1e5 + 5;
int n, w, a[LEN], ans = 0;
int main()
{
// cout << ans;
cin >> n >> w;
// cout << ans;
for (int i = 1; i <= n; i++)
{
int x, b;
cin >> x >> b;
a[x] += b;
}
// cout << "ans " << ans << "\n";
// for (int i = 1; i <= LEN; i++) <--------数组越界!!!!
for (int i = 1; i <= 1e5; i++)
a[i] += a[i - 1];
// cout << "ans " << ans << "\n";
// for (int i = 1; i <= 300; i++)
// cout << a[i] << " ";
// cout << "ans " << ans << "\n";
// ans = 0;
for (int l = 0; l + w - 1 <= LEN; l++)
{
// cout << a[l + w] - a[l] << " ";
// cout << ans << "\n";
ans = max(ans, a[l + w] - a[l]);
// cout << l << " " << ans << " " << a[l + w] << " " << a[l] <<" "<< l+w << "\n";
}
cout << ans;
return 0;
}