Submission #5112337
Source Code Expand
#include <iostream> #include <sstream> #include <cstdio> #include <cmath> #include <vector> #include <string> #include <algorithm> #include <map> #include <set> #include <queue> #define FOR(idx, begin, end) for(int idx = (int)(begin); idx < (int)(end); ++idx) #ifdef _DEBUG #define DMP(x) cerr << #x << ": " << x << "\n" #else #define DMP(x) ((void)0) #endif using namespace std; typedef long long lint; const int MOD = 1000000007, INF = 1111111111; const double EPS = 1e-9; int main() { cin.tie(0); int L; cin >> L; vector<lint> A(L); for (int i = 0; i < L; i++) cin >> A[i]; // 座標をノードと考え、Aiをパスの数として1筆書きで消せるパスが最大になるときを求めればよい // 閉路ごとの合計のパスの数-(奇点ノードの数-2)が消せる最大数 lint sum = 0, closed_sum = 0, prev_A = 0, odd_num = 0, zero_num = 1; vector<lint> list(1,0); for (int i = 0; i < L; i++) { if (i > 0) prev_A = A[i - 1]; odd_num += (prev_A + A[i]) % 2; sum += A[i]; if (A[i] != 0) { if (zero_num != 0) list.emplace_back(zero_num); zero_num = 0; closed_sum += A[i]; } else { if (zero_num == 0) list.emplace_back(closed_sum - max<lint>(odd_num / 2 - 1, 0)); closed_sum = 0; odd_num = 0; zero_num++; } } odd_num += A[L - 1] % 2; if (zero_num == 0) list.emplace_back(closed_sum - max<lint>(odd_num / 2 - 1, 0)); for (int i = 2, i_sz = (int)(list.size()) - 2; i < i_sz; i+=2) { if (list[i] > list[i + 1] || list[i + 1] < list[i + 2]) { list[i + 2] += list[i] - list[i + 1]; list[i] = 0; } } cout << sum - *max_element(list.begin(), list.end()); }
Submission Info
Submission Time | |
---|---|
Task | D - Ears |
User | rajyan |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1724 Byte |
Status | WA |
Exec Time | 83 ms |
Memory | 3956 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 600 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | WA | 76 ms | 1792 KB |
02.txt | WA | 76 ms | 1792 KB |
03.txt | WA | 77 ms | 1792 KB |
04.txt | WA | 76 ms | 1792 KB |
05.txt | WA | 32 ms | 2936 KB |
06.txt | WA | 32 ms | 2936 KB |
07.txt | WA | 32 ms | 2936 KB |
08.txt | WA | 32 ms | 2936 KB |
09.txt | WA | 33 ms | 2936 KB |
10.txt | WA | 32 ms | 2936 KB |
11.txt | WA | 32 ms | 2936 KB |
12.txt | WA | 32 ms | 2936 KB |
13.txt | WA | 32 ms | 2936 KB |
14.txt | WA | 32 ms | 2936 KB |
15.txt | WA | 33 ms | 2936 KB |
16.txt | WA | 32 ms | 2936 KB |
17.txt | AC | 31 ms | 1792 KB |
18.txt | AC | 31 ms | 1792 KB |
19.txt | AC | 30 ms | 1792 KB |
20.txt | AC | 30 ms | 1792 KB |
21.txt | AC | 30 ms | 1792 KB |
22.txt | AC | 30 ms | 1792 KB |
23.txt | AC | 29 ms | 1792 KB |
24.txt | AC | 29 ms | 1792 KB |
25.txt | AC | 29 ms | 1792 KB |
26.txt | AC | 83 ms | 1792 KB |
27.txt | WA | 33 ms | 3956 KB |
28.txt | WA | 33 ms | 3956 KB |
29.txt | WA | 40 ms | 2428 KB |
30.txt | WA | 47 ms | 2428 KB |
31.txt | WA | 35 ms | 2428 KB |
32.txt | WA | 49 ms | 2428 KB |
33.txt | WA | 30 ms | 1792 KB |
34.txt | WA | 31 ms | 1792 KB |
35.txt | WA | 31 ms | 1792 KB |
36.txt | WA | 30 ms | 1792 KB |
37.txt | AC | 1 ms | 256 KB |
38.txt | WA | 1 ms | 256 KB |
39.txt | AC | 1 ms | 256 KB |
40.txt | AC | 1 ms | 256 KB |
41.txt | AC | 1 ms | 256 KB |
42.txt | AC | 1 ms | 256 KB |
s1.txt | AC | 1 ms | 256 KB |
s2.txt | AC | 1 ms | 256 KB |
s3.txt | AC | 1 ms | 256 KB |