ZZULIOJ 2869: 小T的寻宝之旅

2869: 小T的寻宝之旅

分别统计两行的前缀和。随后就可以O(1)的求出小P在某一列往下走时,小T可以取到的最大值,取它们的最小值即可。

小P走的是蓝色路线,小T在两条白色路线选择一条
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;

const int N = 1000010, INF = 0x3f3f3f3f;
int sum1[N],sum2[N]; 

int main()
{
    
    
	int n;cin>>n;
	for(int i=1,x;i<=n;i++) cin>>x,sum1[i]=sum1[i-1]+x;
	for(int i=1,x;i<=n;i++) cin>>x,sum2[i]=sum2[i-1]+x;
	
	int ans=INF;
	for(int i=1;i<=n;i++)
	{
    
    
		int res=max(sum1[n]-sum1[i],sum2[i-1]);
		ans=min(ans,res); 
	} 
	cout<<ans<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_52792570/article/details/121594685