Submission #2872869
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[] sums = new long[n]; sums[0] = in.nextLong(); for(int i=1;i<n;i++) { sums[i] = sums[i-1] + in.nextLong(); } long min = Long.MAX_VALUE; int left = 0; int right = 2; for(int i=1;i<=n-2;i++) { left = cutLeft(sums,left,i); right = cutRight(sums,i,right,n-1); long absdif = getAbsoluteDifference(sums[left], sums[i]-sums[left], sums[right]-sums[i], sums[n-1]-sums[right]); if(absdif<min) min = absdif; } System.out.println(min); } public static int cutLeft(long[] sums,int left,int end) { long dif = abs(sums[end]-sums[left],sums[left]); while(left<end-1) { long newDif = abs(sums[end]-sums[left+1],sums[left+1]); if(newDif<dif) { dif = newDif; left++; }else { break; } } return left; } public static int cutRight(long[] sums,int i,int right,int end) { long dif = abs(sums[end]-sums[right],sums[right]-sums[i]); while(right<end-1) { long newDif = abs(sums[end]-sums[right+1],sums[right+1]-sums[i]); if(newDif<dif) { dif = newDif; right++; }else { break; } } return right; } public static long abs(long a,long b) { if(a>b) return a-b; return b-a; } public static long getAbsoluteDifference(long cut1,long cut2,long cut3,long cut4) { long min = Math.min(Math.min(cut1, cut2), Math.min(cut3, cut4)); long max = Math.max(Math.max(cut1, cut2), Math.max(cut3, cut4)); return max - min; } }
Submission Info
Submission Time | |
---|---|
Task | D - Equal Cut |
User | kiyokiyo |
Language | Java8 (OpenJDK 1.8.0) |
Score | 600 |
Code Size | 1633 Byte |
Status | AC |
Exec Time | 600 ms |
Memory | 80076 KB |
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 | 93 ms | 21588 KB |
sample_02.txt | AC | 93 ms | 18900 KB |
sample_03.txt | AC | 91 ms | 18644 KB |
subtask_1_01.txt | AC | 92 ms | 18768 KB |
subtask_1_02.txt | AC | 543 ms | 62828 KB |
subtask_1_03.txt | AC | 422 ms | 49352 KB |
subtask_1_04.txt | AC | 499 ms | 58948 KB |
subtask_1_05.txt | AC | 111 ms | 21844 KB |
subtask_1_06.txt | AC | 275 ms | 39364 KB |
subtask_1_07.txt | AC | 455 ms | 53484 KB |
subtask_1_08.txt | AC | 383 ms | 44128 KB |
subtask_1_09.txt | AC | 460 ms | 53400 KB |
subtask_1_10.txt | AC | 503 ms | 58608 KB |
subtask_1_11.txt | AC | 523 ms | 60372 KB |
subtask_1_12.txt | AC | 407 ms | 47392 KB |
subtask_1_13.txt | AC | 461 ms | 60360 KB |
subtask_1_14.txt | AC | 301 ms | 41280 KB |
subtask_1_15.txt | AC | 264 ms | 38432 KB |
subtask_1_16.txt | AC | 382 ms | 46548 KB |
subtask_1_17.txt | AC | 398 ms | 47248 KB |
subtask_1_18.txt | AC | 159 ms | 25004 KB |
subtask_1_19.txt | AC | 480 ms | 63708 KB |
subtask_1_20.txt | AC | 600 ms | 62572 KB |
subtask_1_21.txt | AC | 419 ms | 47500 KB |
subtask_1_22.txt | AC | 422 ms | 46444 KB |
subtask_1_23.txt | AC | 509 ms | 61488 KB |
subtask_1_24.txt | AC | 585 ms | 62656 KB |
subtask_1_25.txt | AC | 559 ms | 65888 KB |
subtask_1_26.txt | AC | 545 ms | 64696 KB |
subtask_1_27.txt | AC | 568 ms | 63232 KB |
subtask_1_28.txt | AC | 559 ms | 63212 KB |
subtask_1_29.txt | AC | 514 ms | 80076 KB |
subtask_1_30.txt | AC | 539 ms | 61768 KB |
subtask_1_31.txt | AC | 516 ms | 61908 KB |
subtask_1_32.txt | AC | 555 ms | 63300 KB |
subtask_1_33.txt | AC | 534 ms | 64152 KB |
subtask_1_34.txt | AC | 529 ms | 63436 KB |
subtask_1_35.txt | AC | 535 ms | 63468 KB |
subtask_1_36.txt | AC | 493 ms | 61948 KB |
subtask_1_37.txt | AC | 533 ms | 65540 KB |