这份代码怎么 re
  • 板块学术版
  • 楼主zhoujunchen
  • 当前回复5
  • 已保存回复5
  • 发布时间2025/6/27 21:54
  • 上次更新2025/6/28 18:22:46
查看原帖
这份代码怎么 re
991587
zhoujunchen楼主2025/6/27 21:54
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,a[5145140],ans,sum[5145140];
int query(int l,int r){
	return sum[r]-sum[l-1];
}
void solve(){
	memset(sum,0,sizeof sum);
    cin>>n;ans=0;
    int s=0;
    if(n==1)return cout<<"0",void();
	for(int i=1;i<=n;i++)cin>>a[i],sum[i]=sum[i-1]+a[i],s+=a[i];
	ans=max(ans,abs(a[1]-query(2,n))),ans=max(ans,abs(a[n]-query(1,n-1)));
   	for(int i=2;i<n;i++){
   		int x=query(1,i-1),y=query(i+1,n);
   		ans=max({ans,(long long)(abs(a[i]-min(x,y))),(long long)(abs(a[i]-max(x,y)))});
	}
	cout<<ans<<"\n";
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t;cin>>t;
    while(t--)solve();
    return 0;
}
2025/6/27 21:54
加载中...