제출 #877780

#제출 시각아이디문제언어결과실행 시간메모리
877780auslanderBigger segments (IZhO19_segments)C++17
0 / 100
1 ms2392 KiB
#include <algorithm>
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
typedef long long ll;

const int N = 5e5;
ll arr[N], pref[N];

int main()
{
	ll i, j, n, m;
	cin >> n;
	for (i = 0; i < n; i++)
		cin >> arr[i];
	vector<ll>v;
	ll p = arr[0];
	ll k = 0;
	j = 0;
	ll res = 1;
	for (i = 1; i < n; i++)
	{
		k += arr[i];
		pref[j] = k;
		if (p <= k)
		{
			res++;
			vector<ll>::iterator it = lower_bound(v.begin(), v.end(), (k - p) / 2);
			p = k - pref[(it - v.begin())];
			k = 0;
			j = 0;
			v.erase(v.begin(), v.end());
		}
		else
		{
			v.push_back(k);
			j++;
		}
	}
	cout << res << endl;

	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

segments.cpp: In function 'int main()':
segments.cpp:13:14: warning: unused variable 'm' [-Wunused-variable]
   13 |  ll i, j, n, m;
      |              ^
#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...