B题二分求佬看看哪儿错了
只过了87.5%
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e3 + 100;
ll a[N],suma[N];
ll b[N],sumb[N];
ll n,m,u;
bool check(int mid){
mid --;
for(int i = 1 ; i <= n - mid; i++)
{
ll sum_a = suma[i+mid] - suma[i-1];
ll sum_b = sumb[i+mid] - sumb[i-1];
if(sum_a <= m && sum_b <= u) return true;
}
return false;
}
int main()
{
cin >> n >> m >> u;
for(int i = 1 ; i <= n ; i ++){ cin >> a[i]; suma[i] = suma[i-1] + a[i];}
for(int i = 1 ; i <= n ; i ++){ cin >> b[i]; sumb[i] = sumb[i-1] + b[i];}
int l = 0 , r = n;
while(l < r){
int mid = (l + r + 1) >> 1;
if(check(mid)) l = mid;
else r = mid - 1;
}
cout << l << endl;
}

