Submission #2872741


Source Code Expand


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		long sum = 0;
		long[] sums = new long[4];
		long[] a = new long[n];
		
		for(int i=0;i<n;i++) {
			long input = in.nextLong();
			sum = sum + input;
			a[i] = input;
		}
		
		long ave = sum/4;
		
		int[] lastIdx = new int[4];
		
		long min = Long.MAX_VALUE;
		
		for(int i=0;i<8;i++) {
			sums[0]=sums[1]=sums[2]=0;
			for(int j=0;j<3;j++) {
				if(j==0) lastIdx[j] = -1;
				else lastIdx[j] = lastIdx[j-1];
				if(((i>>j)&1)==0) {
					while(lastIdx[j]<n+j-4 && sums[j]+a[lastIdx[j]+1]<ave) {
						lastIdx[j]++;
						sums[j] = sums[j] + a[lastIdx[j]];
					}
				}else {
					while(lastIdx[j]<n+j-4 && sums[j]<ave) {
						lastIdx[j]++;
						sums[j] = sums[j] + a[lastIdx[j]];
					}
				}
			}
			sums[3] = sum - sums[0] - sums[1] - sums[2];
			long absDif = getAbsoluteDifference(sums);
			if(absDif<min) min=absDif;
		}
		
		for(int i=0;i<8;i++) {
			sums[3]=sums[1]=sums[2]=0;
			for(int j=3;j>0;j--) {
				if(j==0) lastIdx[j] = n;
				else lastIdx[j-1] = lastIdx[j];
				if(((i>>(3-j))&1)==0) {
					while(lastIdx[j]>j-2 && sums[j]+a[lastIdx[j]-1]<ave) {
						lastIdx[j]--;
						sums[j] = sums[j] + a[lastIdx[j]];
					}
				}else {
					while(lastIdx[j]<j-2 && sums[j]<ave) {
						lastIdx[j]--;
						sums[j] = sums[j] + a[lastIdx[j]];
					}
				}
			}
			sums[0] = sum - sums[3] - sums[1] - sums[2];
			long absDif = getAbsoluteDifference(sums);
			if(absDif<min) min=absDif;
		}
		System.out.println(min);
	}
	
	public static long getAbsoluteDifference(long[] sums) {
		long min = Math.min(Math.min(sums[0], sums[1]), Math.min(sums[2], sums[3]));
		long max = Math.max(Math.max(sums[0], sums[1]), Math.max(sums[2], sums[3]));
		return max - min;
	}

}

Submission Info

Submission Time
Task D - Equal Cut
User kiyokiyo
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 1904 Byte
Status RE
Exec Time 583 ms
Memory 83568 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
RE × 3
RE × 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 RE 93 ms 19668 KB
sample_02.txt RE 94 ms 20820 KB
sample_03.txt RE 95 ms 18644 KB
subtask_1_01.txt RE 91 ms 21844 KB
subtask_1_02.txt RE 583 ms 75028 KB
subtask_1_03.txt RE 414 ms 49032 KB
subtask_1_04.txt RE 520 ms 58512 KB
subtask_1_05.txt RE 113 ms 19796 KB
subtask_1_06.txt RE 280 ms 42568 KB
subtask_1_07.txt RE 444 ms 57572 KB
subtask_1_08.txt RE 370 ms 48604 KB
subtask_1_09.txt RE 453 ms 52128 KB
subtask_1_10.txt RE 476 ms 59368 KB
subtask_1_11.txt RE 536 ms 64084 KB
subtask_1_12.txt RE 413 ms 51148 KB
subtask_1_13.txt RE 462 ms 51748 KB
subtask_1_14.txt RE 308 ms 47684 KB
subtask_1_15.txt RE 256 ms 40488 KB
subtask_1_16.txt RE 406 ms 56320 KB
subtask_1_17.txt RE 384 ms 47212 KB
subtask_1_18.txt RE 158 ms 25576 KB
subtask_1_19.txt RE 507 ms 63188 KB
subtask_1_20.txt RE 576 ms 65232 KB
subtask_1_21.txt RE 412 ms 48816 KB
subtask_1_22.txt RE 413 ms 44616 KB
subtask_1_23.txt RE 513 ms 59120 KB
subtask_1_24.txt RE 499 ms 65624 KB
subtask_1_25.txt RE 538 ms 65732 KB
subtask_1_26.txt RE 526 ms 64184 KB
subtask_1_27.txt RE 532 ms 63676 KB
subtask_1_28.txt RE 521 ms 65780 KB
subtask_1_29.txt RE 535 ms 79980 KB
subtask_1_30.txt RE 580 ms 60944 KB
subtask_1_31.txt RE 483 ms 62684 KB
subtask_1_32.txt RE 542 ms 62252 KB
subtask_1_33.txt RE 528 ms 62700 KB
subtask_1_34.txt RE 491 ms 81812 KB
subtask_1_35.txt RE 533 ms 63512 KB
subtask_1_36.txt RE 489 ms 64080 KB
subtask_1_37.txt RE 528 ms 83568 KB