不管是否需要,每一个样例要全部读入,否则没有读入的数据会被下一个样例继续使用,造成错误
#include <iostream>
#include <cmath>
#include <cstring>
#define ll long long
using namespace std;
const int N = 1e5 + 10;
int arr[N], brr[N];
ll sum1[N], sum2[N];
int main()
{
int Case;
cin >> Case;
while(Case--)
{
int n;
cin >> n;
ll ans = 0;
sum1[0] = sum2[0] = 0;
for(int i = 1; i <= n; i++){
scanf("%d",&arr[i]);
sum1[i] = sum1[i-1] + arr[i];
}
for(int i = 1; i <= n; i++){
scanf("%d",&brr[i]);
sum2[i] = sum2[i-1] + brr[i];
}
if(n==1) {
cout << 0 << endl;
continue;
}
for(int i = 1; i <= n; i++)
{
if(i==1) ans = sum1[n] - sum1[1];
else if(i==n) ans = min(ans, sum2[n-1]);
else ans = min(ans , max(sum1[n]-sum1[i], sum2[i-1]));
}
printf("%lld\n", ans);
}
}