#include <bits/stdc++.h>
using namespace std;
void Init()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
typedef long long ll;
int n;
const int maxn = 500005;
ll a[maxn];
bool check(int k)
{
ll last = 0;
ll cur = 0;
int seg = 0;
int i = n - 1;
while (i >= 0)
{
cur += a[i];
if (cur >= last)
{
last = cur;
cur = 0;
seg++;
if (seg > k) return false;
}
i--;
}
if (cur > 0 && cur < last) return false;
return seg <= k;
}
int solve()
{
int l = 1;
int r = n;
int ans = 1;
while (l <= r)
{
int mid = (l + r) / 2;
if (check(mid))
{
ans = mid;
l = mid + 1;
}
else
{
r = mid - 1;
}
}
return ans;
}
void Input()
{
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
}
void Bai()
{
cout << solve() << "\n";
}
int main()
{
Init();
Input();
Bai();
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |