Submission #8927749


Source Code Expand

//#include "debug.h"
#include <string.h>
#include <limits.h>
#include <map>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;

#define MAXN 200000

int n;
long a[MAXN], b[MAXN];

int input() {
	if (scanf("%d", &n) < 0) return 0;
	for (int i=0; i<n; i++) scanf("%ld", &a[i]);
	return 1;
}

void init() {
}

//[0,p) & [p,n)
long diff(long *b, int n, int p) {
	return abs((b[n]-b[p]) - (b[p]-b[0]));
}

void calc(long *a, long *b, int n, int &p, long *m) {
	long s = b[n]-b[0];
	while (p<n-1 && (b[p]-b[0])*2 < s) p++;
	if (p>0 && diff(b, n, p-1) < diff(b, n, p)) p--;
	m[0] = b[p]-b[0];
	m[1] = b[n]-b[p];
}

long solve() {
	b[0] = 0;
	for (int i=0; i<n; i++)
		b[i+1] = b[i] + a[i];
	int f=1, g=1;
	long m[4];
	long r = INT_MAX;
	for (int k=2; k<=n-2; k++) {
		calc(a, b, k, f, m);
		g = max(1, g-k);
		calc(a+k, b+k, n-k, g, m+2);
		//p('k', k+1, 'f', f+1, 'g', g+1, 'm', m[0], m[1], m[2], m[3]);
		g += k;
		sort(m, m+4);
		r = min(r, m[3]-m[0]);
	}
	return r;
}

void output(long ans) {
	printf("%ld\n", ans);
}

void cleanup() {
}

int main() {
	while (input()) {
		init();
		output(solve());
		cleanup();
		//break;
	}
}



Submission Info

Submission Time
Task D - Equal Cut
User mikuz
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1153 Byte
Status AC
Exec Time 30 ms
Memory 3456 KB

Compile Error

./Main.cpp: In function ‘int input()’:
./Main.cpp:17:45: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for (int i=0; i<n; i++) scanf("%ld", &a[i]);
                                             ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 43
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 128 KB
sample_02.txt AC 1 ms 128 KB
sample_03.txt AC 1 ms 128 KB
subtask_1_01.txt AC 1 ms 128 KB
subtask_1_02.txt AC 29 ms 2944 KB
subtask_1_03.txt AC 12 ms 1536 KB
subtask_1_04.txt AC 20 ms 2176 KB
subtask_1_05.txt AC 1 ms 128 KB
subtask_1_06.txt AC 4 ms 512 KB
subtask_1_07.txt AC 16 ms 1920 KB
subtask_1_08.txt AC 9 ms 1280 KB
subtask_1_09.txt AC 16 ms 1920 KB
subtask_1_10.txt AC 19 ms 2560 KB
subtask_1_11.txt AC 24 ms 2944 KB
subtask_1_12.txt AC 11 ms 1536 KB
subtask_1_13.txt AC 17 ms 2048 KB
subtask_1_14.txt AC 5 ms 768 KB
subtask_1_15.txt AC 4 ms 512 KB
subtask_1_16.txt AC 13 ms 1792 KB
subtask_1_17.txt AC 11 ms 1536 KB
subtask_1_18.txt AC 1 ms 256 KB
subtask_1_19.txt AC 21 ms 3072 KB
subtask_1_20.txt AC 30 ms 3072 KB
subtask_1_21.txt AC 14 ms 1664 KB
subtask_1_22.txt AC 10 ms 1152 KB
subtask_1_23.txt AC 22 ms 2688 KB
subtask_1_24.txt AC 26 ms 3328 KB
subtask_1_25.txt AC 26 ms 3456 KB
subtask_1_26.txt AC 25 ms 3328 KB
subtask_1_27.txt AC 24 ms 3328 KB
subtask_1_28.txt AC 24 ms 3328 KB
subtask_1_29.txt AC 26 ms 3328 KB
subtask_1_30.txt AC 25 ms 3328 KB
subtask_1_31.txt AC 26 ms 3328 KB
subtask_1_32.txt AC 26 ms 3328 KB
subtask_1_33.txt AC 25 ms 3328 KB
subtask_1_34.txt AC 27 ms 3328 KB
subtask_1_35.txt AC 23 ms 3328 KB
subtask_1_36.txt AC 22 ms 3328 KB
subtask_1_37.txt AC 22 ms 3328 KB