Submission #3237655
Source Code Expand
#include <cmath> #include <algorithm> #include <iostream> using namespace std; int main() { int n; cin >> n; long long a[n], ans = 1LL<<60; for (int i = 0; i < n; i++) { cin >> a[i]; if (i > 0) a[i] += a[i-1]; } for (int i = 1; i < n-2; i++) { long long p, q, r, s; int j = lower_bound(a, a + i + 1, (a[i]+1)/2) - a; if (j == 0) { p = a[0]; q = a[i] - a[0]; } else if (j == i) { p = a[i-1]; q = a[i] - a[i-1]; } else if (abs(a[i] - 2 * a[j-1]) > abs(a[i] - 2 * a[j])) { p = a[j]; q = a[i] - a[j]; } else { p = a[j-1]; q = a[i] - a[j-1]; } int k = lower_bound(a + i + 1, a + n, (a[n-1]+a[i]+1)/2) - a; if (k == i + 1) { r = a[i+1] - a[i]; s = a[n-1] - a[i+1]; } else if (k == n-1) { r = a[n-2] - a[i]; s = a[n-1] - a[n-2]; } else if (abs(a[n-1] + a[i] - 2* a[k-1]) > abs(a[n-1] + a[i] - 2 * a[k])) { r = a[k] - a[i]; s = a[n-1] - a[k]; } else { r = a[k-1] - a[i]; s = a[n-1] - a[k-1]; } // cout << j << ' ' << i << ' ' << k << "; " << p << ' ' << q << ' ' << r << ' ' << s << endl; ans = min(ans, max({p, q, r, s}) - min({p, q, r, s})); } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Equal Cut |
User | kozima |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1240 Byte |
Status | AC |
Exec Time | 86 ms |
Memory | 1792 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 | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask_1_01.txt | AC | 1 ms | 256 KB |
subtask_1_02.txt | AC | 84 ms | 1664 KB |
subtask_1_03.txt | AC | 32 ms | 896 KB |
subtask_1_04.txt | AC | 58 ms | 1152 KB |
subtask_1_05.txt | AC | 1 ms | 256 KB |
subtask_1_06.txt | AC | 8 ms | 384 KB |
subtask_1_07.txt | AC | 40 ms | 1152 KB |
subtask_1_08.txt | AC | 21 ms | 768 KB |
subtask_1_09.txt | AC | 42 ms | 1152 KB |
subtask_1_10.txt | AC | 45 ms | 1408 KB |
subtask_1_11.txt | AC | 62 ms | 1664 KB |
subtask_1_12.txt | AC | 26 ms | 896 KB |
subtask_1_13.txt | AC | 43 ms | 1152 KB |
subtask_1_14.txt | AC | 12 ms | 512 KB |
subtask_1_15.txt | AC | 9 ms | 384 KB |
subtask_1_16.txt | AC | 22 ms | 1024 KB |
subtask_1_17.txt | AC | 21 ms | 896 KB |
subtask_1_18.txt | AC | 2 ms | 256 KB |
subtask_1_19.txt | AC | 45 ms | 1664 KB |
subtask_1_20.txt | AC | 86 ms | 1664 KB |
subtask_1_21.txt | AC | 35 ms | 1024 KB |
subtask_1_22.txt | AC | 31 ms | 768 KB |
subtask_1_23.txt | AC | 59 ms | 1536 KB |
subtask_1_24.txt | AC | 57 ms | 1792 KB |
subtask_1_25.txt | AC | 58 ms | 1792 KB |
subtask_1_26.txt | AC | 59 ms | 1792 KB |
subtask_1_27.txt | AC | 57 ms | 1792 KB |
subtask_1_28.txt | AC | 57 ms | 1792 KB |
subtask_1_29.txt | AC | 61 ms | 1792 KB |
subtask_1_30.txt | AC | 65 ms | 1792 KB |
subtask_1_31.txt | AC | 63 ms | 1792 KB |
subtask_1_32.txt | AC | 63 ms | 1792 KB |
subtask_1_33.txt | AC | 64 ms | 1792 KB |
subtask_1_34.txt | AC | 42 ms | 1792 KB |
subtask_1_35.txt | AC | 49 ms | 1792 KB |
subtask_1_36.txt | AC | 41 ms | 1792 KB |
subtask_1_37.txt | AC | 48 ms | 1792 KB |