제출 #827423

#제출 시각아이디문제언어결과실행 시간메모리
827423raphaelpBigger segments (IZhO19_segments)C++17
0 / 100
1 ms296 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin >> N;
    vector<int> tab(N + 1, 0);
    for (int i = 0; i < N; i++)
    {
        cin >> tab[i + 1];
    }
    vector<int> seg(2, 0);
    int curS = 1, curT = 1, prev = 1;
    for (int i = 0; i < N; i++)
    {
        seg[curS] += tab[curT];
        if (seg[curS] >= seg[curS - 1])
        {
            while (seg[curS] - tab[prev] >= seg[curS - 1] + tab[prev])
            {
                seg[curS] -= tab[prev];
                seg[curS - 1] += tab[prev];
                prev++;
            }
            prev = curT + 1;
            curS++;
            seg.push_back(0);
        }
        curT++;
    }
    cout << seg.size() - 2;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...