Submission #3880449
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <assert.h>
#include <bitset>
#include <cmath>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <time.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#pragma warning(disable:4996)
#pragma comment(linker, "/STACK:336777216")
using namespace std;
#define mp make_pair
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define szz(x) ((int)(x).size())
#define rep(i, n) for(int i=0;i<n;i++)
#define all(x) (x).begin(), (x).end()
#define ldb ldouble
typedef unsigned int uint;
typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;
int IT_MAX = 1 << 19;
const ll MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;
const int MX = 250005;
vector<pll> A[2][MX];
int D[MX];
int N;
int main()
{
scanf("%d", &N);
for(int i = 1; i <= N; i++) scanf("%d", D+i);
for(int t = 0; t < 2; t++){
int m = 0;
ll lsum = 0, rsum = 0;
for(int i = 1; i <= N; i++){
rsum += D[i];
while(m+1 <= i && lsum + D[m+1] <= rsum - D[m+1]){
lsum += D[m+1];
rsum -= D[m+1];
m++;
}
if(lsum == rsum) A[t][i].emplace_back(lsum, rsum);
else{
A[t][i].emplace_back(lsum, rsum);
A[t][i].emplace_back(lsum + D[m+1], rsum - D[m+1]);
}
}
reverse(D+1, D+N+1);
}
ll ans = 1e18;
for(int i = 2; i <= N-2; i++){
for(pll c1 : A[0][i]){
for(pll c2 : A[1][N-i]){
vector<ll> tp;
tp.push_back(c1.first);
tp.push_back(c1.second);
tp.push_back(c2.first);
tp.push_back(c2.second);
sort(tp.begin(), tp.end());
ans = min(ans, tp.back() - tp[0]);
}
}
}
printf("%lld\n", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Equal Cut |
| User | zigui |
| Language | C++14 (GCC 5.4.1) |
| Score | 600 |
| Code Size | 2201 Byte |
| Status | AC |
| Exec Time | 194 ms |
| Memory | 31488 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:62:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &N);
^
./Main.cpp:63:46: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
for(int i = 1; i <= N; i++) scanf("%d", D+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 | 5 ms | 11904 KiB |
| sample_02.txt | AC | 5 ms | 11904 KiB |
| sample_03.txt | AC | 5 ms | 11904 KiB |
| subtask_1_01.txt | AC | 5 ms | 11904 KiB |
| subtask_1_02.txt | AC | 171 ms | 29568 KiB |
| subtask_1_03.txt | AC | 85 ms | 20224 KiB |
| subtask_1_04.txt | AC | 119 ms | 24192 KiB |
| subtask_1_05.txt | AC | 5 ms | 12032 KiB |
| subtask_1_06.txt | AC | 26 ms | 14336 KiB |
| subtask_1_07.txt | AC | 113 ms | 23168 KiB |
| subtask_1_08.txt | AC | 68 ms | 19072 KiB |
| subtask_1_09.txt | AC | 109 ms | 22784 KiB |
| subtask_1_10.txt | AC | 147 ms | 27136 KiB |
| subtask_1_11.txt | AC | 162 ms | 29184 KiB |
| subtask_1_12.txt | AC | 81 ms | 20736 KiB |
| subtask_1_13.txt | AC | 112 ms | 23680 KiB |
| subtask_1_14.txt | AC | 39 ms | 15872 KiB |
| subtask_1_15.txt | AC | 27 ms | 14208 KiB |
| subtask_1_16.txt | AC | 96 ms | 22016 KiB |
| subtask_1_17.txt | AC | 84 ms | 20608 KiB |
| subtask_1_18.txt | AC | 10 ms | 12544 KiB |
| subtask_1_19.txt | AC | 160 ms | 29824 KiB |
| subtask_1_20.txt | AC | 173 ms | 29952 KiB |
| subtask_1_21.txt | AC | 97 ms | 21376 KiB |
| subtask_1_22.txt | AC | 61 ms | 17920 KiB |
| subtask_1_23.txt | AC | 148 ms | 27648 KiB |
| subtask_1_24.txt | AC | 178 ms | 31488 KiB |
| subtask_1_25.txt | AC | 180 ms | 31488 KiB |
| subtask_1_26.txt | AC | 181 ms | 31488 KiB |
| subtask_1_27.txt | AC | 178 ms | 31488 KiB |
| subtask_1_28.txt | AC | 180 ms | 31488 KiB |
| subtask_1_29.txt | AC | 177 ms | 31488 KiB |
| subtask_1_30.txt | AC | 179 ms | 31488 KiB |
| subtask_1_31.txt | AC | 180 ms | 31488 KiB |
| subtask_1_32.txt | AC | 194 ms | 31488 KiB |
| subtask_1_33.txt | AC | 192 ms | 31488 KiB |
| subtask_1_34.txt | AC | 180 ms | 31232 KiB |
| subtask_1_35.txt | AC | 172 ms | 31232 KiB |
| subtask_1_36.txt | AC | 177 ms | 31488 KiB |
| subtask_1_37.txt | AC | 185 ms | 31360 KiB |