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
2019-12-13 01:26:19+0900
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
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