제출 #861434

#제출 시각아이디문제언어결과실행 시간메모리
861434Halym2007Bigger segments (IZhO19_segments)C++11
0 / 100
14 ms16220 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 5e5 + 5;
ll dp[N], p[N], a[N], val[N];

int main () {
	freopen("input.txt", "r", stdin);
	ll n;
	cin >> n;
	for (ll i = 1; i <= n; ++i) {
		cin >> a[i];
		p[i] = a[i] + p[i - 1];
	}
	for (ll i = 1; i <= n; ++i) {
		ll l = 1;
		ll r = i;
		ll jog = 0;
		while (l <= r) {
			ll md = (l + r) / 2;
			if (p[i] - p[md - 1] >= val[md - 1]) {
				l = md + 1;
				jog = md;
			}
			else r = md - 1;
		}
//		if (!jog)continue;
		dp[i] = dp[jog - 1] + 1;
		val[i] = p[i] - p[jog - 1];
	}
	cout << dp[n];
}

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

segments.cpp: In function 'int main()':
segments.cpp:8:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |  freopen("input.txt", "r", stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...