Submission #2873090
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using static System.Console; namespace TOPSIC { public class Program { public static void Main() { int n = int.Parse(ReadLine()); var list = ReadLine().Split().Select(x => int.Parse(x)) .ToList(); // 累積和を使う var sum = new List<double>(); sum.Add(list[0]); for (int i = 1; i < n; i++) { sum.Add(sum[i - 1] + list[i]); } var ans = double.MaxValue; var list2 = new double[4]; // 中央の区切りは全探索 // 中央の区切りが移動した場合は、計算済みの左区切りと右区切りを利用する int left = 0; int right = 2; for (int i = 1; i < n - 2; i++) { // 左区間の区切り while (left < i && // sum[left + 1] - (sum[i] - sum[left + 1]) = 2 * sum[left + 1] - sum[i] // sum[left] - (sum[i] - sum[left]) = sum[left] - sum[i] + sum[left] = 2 * sum[left] - sum[i] // 境界を求める。一つ先が減っているなら、次へ移動する。 Math.Abs(2 * sum[left + 1] - sum[i]) < Math.Abs(2 * sum[left] - sum[i])) { left++; } // 右区間の区切り while (right < n && // (sum[right] - sum[i]) - (sum[n-1] - sum[right]) = sum[right] - sum[i] - sum[n-1] - sum[right] = 2 * sum[right] - sum[i] - sum[n-1] Math.Abs(2 * sum[right + 1] - sum[i] - sum[n - 1]) < Math.Abs(2 * sum[right] - sum[i] - sum[n - 1])) { right++; } list2[0] = sum[left]; list2[1] = sum[i] - sum[left]; list2[2] = sum[right] - sum[i]; list2[3] = sum[n - 1] - sum[right]; ans = Math.Min(ans, list2.Max() - list2.Min()); } WriteLine(ans); } } }
Submission Info
Submission Time | |
---|---|
Task | D - Equal Cut |
User | ayyubid |
Language | C# (Mono 4.6.2.0) |
Score | 600 |
Code Size | 1753 Byte |
Status | AC |
Exec Time | 181 ms |
Memory | 34892 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 | 24 ms | 11348 KB |
sample_02.txt | AC | 24 ms | 11348 KB |
sample_03.txt | AC | 24 ms | 13396 KB |
subtask_1_01.txt | AC | 24 ms | 11348 KB |
subtask_1_02.txt | AC | 175 ms | 32524 KB |
subtask_1_03.txt | AC | 88 ms | 25824 KB |
subtask_1_04.txt | AC | 132 ms | 27100 KB |
subtask_1_05.txt | AC | 25 ms | 13396 KB |
subtask_1_06.txt | AC | 40 ms | 13024 KB |
subtask_1_07.txt | AC | 119 ms | 27872 KB |
subtask_1_08.txt | AC | 77 ms | 22368 KB |
subtask_1_09.txt | AC | 106 ms | 25440 KB |
subtask_1_10.txt | AC | 134 ms | 29788 KB |
subtask_1_11.txt | AC | 156 ms | 29296 KB |
subtask_1_12.txt | AC | 84 ms | 25568 KB |
subtask_1_13.txt | AC | 115 ms | 31968 KB |
subtask_1_14.txt | AC | 50 ms | 18528 KB |
subtask_1_15.txt | AC | 41 ms | 15200 KB |
subtask_1_16.txt | AC | 87 ms | 23256 KB |
subtask_1_17.txt | AC | 83 ms | 24416 KB |
subtask_1_18.txt | AC | 28 ms | 13536 KB |
subtask_1_19.txt | AC | 137 ms | 30684 KB |
subtask_1_20.txt | AC | 181 ms | 34892 KB |
subtask_1_21.txt | AC | 99 ms | 22624 KB |
subtask_1_22.txt | AC | 76 ms | 24288 KB |
subtask_1_23.txt | AC | 145 ms | 30940 KB |
subtask_1_24.txt | AC | 161 ms | 28380 KB |
subtask_1_25.txt | AC | 165 ms | 32220 KB |
subtask_1_26.txt | AC | 158 ms | 30172 KB |
subtask_1_27.txt | AC | 166 ms | 30172 KB |
subtask_1_28.txt | AC | 161 ms | 32476 KB |
subtask_1_29.txt | AC | 167 ms | 30428 KB |
subtask_1_30.txt | AC | 167 ms | 34524 KB |
subtask_1_31.txt | AC | 168 ms | 30172 KB |
subtask_1_32.txt | AC | 168 ms | 28380 KB |
subtask_1_33.txt | AC | 166 ms | 30428 KB |
subtask_1_34.txt | AC | 152 ms | 27484 KB |
subtask_1_35.txt | AC | 156 ms | 33628 KB |
subtask_1_36.txt | AC | 150 ms | 29532 KB |
subtask_1_37.txt | AC | 155 ms | 31580 KB |