Submission #71362420
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(0); cin.tie(0);
int n;
string s;
cin >> n >> s;
vector<int> a(n);
for (auto& x: a) cin >> x;
while (s.back() == '#') {
s.pop_back();
a.pop_back();
}
int c = 0;
while (s[c] == '#') c++;
s = s.substr(c);
a = vector<int>(a.begin() + c, a.end());
n = s.size();
int mx = *max_element(a.begin(), a.end());
vector<pair<int, int>> seg_mx_cnt;
vector<int> has_mx;
for (int l = 0; l < n;) {
int r = l;
while (r < n && s[r] == s[l]) r++;
if (s[l] == '.') {
int seg_mx = *max_element(a.begin() + l, a.begin() + r);
seg_mx_cnt.emplace_back(count(a.begin() + l, a.begin() + r, seg_mx), seg_mx == mx);
}
else {
has_mx.push_back(count(a.begin() + l, a.begin() + r, mx) > 0);
}
l = r;
}
int64_t ans = 0;
for (int i = 0; i < (int)has_mx.size(); i++) {
if (has_mx[i] || seg_mx_cnt[i].second || seg_mx_cnt[i+1].second) {
ans += 1LL*seg_mx_cnt[i].first*seg_mx_cnt[i+1].first;
}
}
cout << ans << '\n';
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Forest |
| User | AndrewG |
| Language | C++23 (GCC 15.2.0) |
| Score | 600 |
| Code Size | 1125 Byte |
| Status | AC |
| Exec Time | 13 ms |
| Memory | 6120 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt |
| All | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 02-less_segs-001.txt, 02-less_segs-002.txt, 02-less_segs-003.txt, 02-less_segs-004.txt, 02-less_segs-005.txt, 02-less_segs-006.txt, 02-less_segs-007.txt, 02-less_segs-008.txt, 02-less_segs-009.txt, 02-less_segs-010.txt, 03-many_segs-001.txt, 03-many_segs-002.txt, 03-many_segs-003.txt, 03-many_segs-004.txt, 03-many_segs-005.txt, 03-many_segs-006.txt, 03-many_segs-007.txt, 03-many_segs-008.txt, 03-many_segs-009.txt, 03-many_segs-010.txt, 04-large-001.txt, 04-large-002.txt, 04-large-003.txt, 04-large-004.txt, 04-large-005.txt, 04-large-006.txt, 04-large-007.txt, 04-large-008.txt, 04-large-009.txt, 04-large-010.txt, 05-small-001.txt, 05-small-002.txt, 05-small-003.txt, 05-small-004.txt, 05-small-005.txt, 05-small-006.txt, 05-small-007.txt, 05-small-008.txt, 05-small-009.txt, 05-small-010.txt, 06-killer-001.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-001.txt | AC | 1 ms | 3520 KiB |
| 00-sample-002.txt | AC | 1 ms | 3716 KiB |
| 00-sample-003.txt | AC | 1 ms | 3568 KiB |
| 01-random-001.txt | AC | 11 ms | 5116 KiB |
| 01-random-002.txt | AC | 11 ms | 5388 KiB |
| 01-random-003.txt | AC | 10 ms | 5372 KiB |
| 01-random-004.txt | AC | 10 ms | 5096 KiB |
| 01-random-005.txt | AC | 11 ms | 5284 KiB |
| 01-random-006.txt | AC | 12 ms | 6036 KiB |
| 01-random-007.txt | AC | 11 ms | 5228 KiB |
| 01-random-008.txt | AC | 11 ms | 5080 KiB |
| 01-random-009.txt | AC | 12 ms | 5940 KiB |
| 01-random-010.txt | AC | 11 ms | 6012 KiB |
| 02-less_segs-001.txt | AC | 10 ms | 5124 KiB |
| 02-less_segs-002.txt | AC | 10 ms | 5064 KiB |
| 02-less_segs-003.txt | AC | 9 ms | 5156 KiB |
| 02-less_segs-004.txt | AC | 10 ms | 4988 KiB |
| 02-less_segs-005.txt | AC | 10 ms | 5280 KiB |
| 02-less_segs-006.txt | AC | 10 ms | 5344 KiB |
| 02-less_segs-007.txt | AC | 10 ms | 5156 KiB |
| 02-less_segs-008.txt | AC | 10 ms | 5124 KiB |
| 02-less_segs-009.txt | AC | 10 ms | 5236 KiB |
| 02-less_segs-010.txt | AC | 11 ms | 5256 KiB |
| 03-many_segs-001.txt | AC | 11 ms | 6040 KiB |
| 03-many_segs-002.txt | AC | 13 ms | 5308 KiB |
| 03-many_segs-003.txt | AC | 12 ms | 5976 KiB |
| 03-many_segs-004.txt | AC | 11 ms | 5088 KiB |
| 03-many_segs-005.txt | AC | 12 ms | 5272 KiB |
| 03-many_segs-006.txt | AC | 13 ms | 5412 KiB |
| 03-many_segs-007.txt | AC | 12 ms | 5312 KiB |
| 03-many_segs-008.txt | AC | 11 ms | 5196 KiB |
| 03-many_segs-009.txt | AC | 12 ms | 5168 KiB |
| 03-many_segs-010.txt | AC | 12 ms | 5160 KiB |
| 04-large-001.txt | AC | 13 ms | 5444 KiB |
| 04-large-002.txt | AC | 12 ms | 6076 KiB |
| 04-large-003.txt | AC | 12 ms | 5348 KiB |
| 04-large-004.txt | AC | 13 ms | 5936 KiB |
| 04-large-005.txt | AC | 12 ms | 5244 KiB |
| 04-large-006.txt | AC | 13 ms | 6060 KiB |
| 04-large-007.txt | AC | 11 ms | 5296 KiB |
| 04-large-008.txt | AC | 11 ms | 5292 KiB |
| 04-large-009.txt | AC | 12 ms | 5352 KiB |
| 04-large-010.txt | AC | 12 ms | 6120 KiB |
| 05-small-001.txt | AC | 1 ms | 3516 KiB |
| 05-small-002.txt | AC | 1 ms | 3648 KiB |
| 05-small-003.txt | AC | 1 ms | 3584 KiB |
| 05-small-004.txt | AC | 1 ms | 3632 KiB |
| 05-small-005.txt | AC | 1 ms | 3564 KiB |
| 05-small-006.txt | AC | 1 ms | 3608 KiB |
| 05-small-007.txt | AC | 1 ms | 3584 KiB |
| 05-small-008.txt | AC | 1 ms | 3508 KiB |
| 05-small-009.txt | AC | 1 ms | 3644 KiB |
| 05-small-010.txt | AC | 1 ms | 3556 KiB |
| 06-killer-001.txt | AC | 11 ms | 5284 KiB |