題目連結: https://zerojudge.tw/ShowProblem?problemid=d563
# 解題思路
開兩個變數,一個算前綴和另一個算後綴和,
只要前綴和大於後綴和就多加後面一位,後綴大於前綴就前綴多加一項,算到結束為止
# 程式碼
#include <iostream> | |
using namespace std; | |
int main() { | |
int n; | |
int arr[100000]; | |
while(cin>>n){ | |
long long int sum1=0,sum2=0,ans=0; | |
for(int i=1;i<=n;i++) | |
cin>>arr[i]; | |
sum1=arr[1]; | |
sum2=arr[n]; | |
for(int i=1,j=n;i<=n&&j>0;){ | |
if(sum1==sum2){ | |
ans++; | |
sum1+=arr[++i]; | |
} | |
else if(sum1>sum2) | |
sum2+=arr[--j]; | |
else | |
sum1+=arr[++i]; | |
} | |
cout<<ans<<endl; | |
} | |
} |