Polycarp has created his own training plan to prepare for the programming contests. He will train for nn days, all days are numbered from 11to nn, beginning from the first.
On the ii-th day Polycarp will necessarily solve aiai problems. One evening Polycarp plans to celebrate the equator. He will celebrate it on the first evening of such a day that from the beginning of the training and to this day inclusive he will solve half or more of all the problems.
Determine the index of day when Polycarp will celebrate the equator.
The first line contains a single integer nn (1≤n≤2000001≤n≤200000) — the number of days to prepare for the programming contests.
The second line contains a sequence a1,a2,…,ana1,a2,…,an (1≤ai≤100001≤ai≤10000), where aiai equals to the number of problems, which Polycarp will solve on the ii-th day.
Print the index of the day when Polycarp will celebrate the equator.
4 1 3 2 1
2
6 2 2 2 2 2 2
3
In the first example Polycarp will celebrate the equator on the evening of the second day, because up to this day (inclusive) he will solve 44out of 77 scheduled problems on four days of the training.
In the second example Polycarp will celebrate the equator on the evening of the third day, because up to this day (inclusive) he will solve 66out of 1212 scheduled problems on six days of the training.
注意结果的奇偶即可;
下面附上我的代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAXN = 2e5 + 5;
int a[MAXN];
LL sum[MAXN];
int main()
{
int n;
LL sum1 = 0;
cin>>n;
for(int i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
sum[i] = sum[i-1] + a[i];
sum1 += a[i];
}
int u = -1;
if(sum1 & 1)
sum1++;
for(int i = 1; i <= n; i++)
if(sum[i] >= sum1 / 2)
{
u = i;
break;
}
printf("%d\n",u);
return 0;
}

本文介绍了一个编程竞赛训练计划,该计划包含了解决特定数量题目来庆祝训练进度过半的算法实现。通过输入训练天数及每天解决问题的数量,算法确定了庆祝过半点的具体日期。
461

被折叠的 条评论
为什么被折叠?



