Submission #18997834
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using II = pair<int, int>;
int main()
{
int n;
cin >> n;
vector<II> stone_vec;
int nc;
cin >> nc;
stone_vec.push_back({nc, 1});
for (int i = 1; i < n; ++i) {
cin >> nc;
auto pr = *stone_vec.rbegin();
int c = pr.first, l = pr.second;
if (c == nc) {
*stone_vec.rbegin() = {c, l + 1};
continue;
}
if (i % 2 == 0)
stone_vec.push_back({nc, 1});
else if (stone_vec.size() == 1)
*stone_vec.rbegin() = {nc, l + 1};
else {
stone_vec.pop_back();
auto pr2 = *stone_vec.rbegin();
int l2 = pr2.second;
*stone_vec.rbegin() = {nc, l2 + l + 1};
}
}
int sum = 0;
for (auto pr : stone_vec) {
int c = pr.first, l = pr.second;
if (c == 0)
sum += l;
}
cout << sum << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - 碁石ならべ |
| User | atug |
| Language | C++ (GCC 9.2.1) |
| Score | 20 |
| Code Size | 945 Byte |
| Status | AC |
| Exec Time | 26 ms |
| Memory | 3632 KiB |
Judge Result
| Set Name | set01 | set02 | set03 | set04 | set05 | set06 | set07 | set08 | set09 | set10 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | ||||||||||||||||||||
| Status |
|
|
|
|
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| set01 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| set06 | data6 |
| set07 | data7 |
| set08 | data8 |
| set09 | data9 |
| set10 | data10 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 7 ms | 3496 KiB |
| data10 | AC | 24 ms | 3604 KiB |
| data2 | AC | 3 ms | 3420 KiB |
| data3 | AC | 2 ms | 3412 KiB |
| data4 | AC | 6 ms | 3500 KiB |
| data5 | AC | 4 ms | 3632 KiB |
| data6 | AC | 14 ms | 3496 KiB |
| data7 | AC | 26 ms | 3604 KiB |
| data8 | AC | 26 ms | 3496 KiB |
| data9 | AC | 20 ms | 3560 KiB |