Submission #9237379
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
long long n, k, rsp[3];
string t;
vector<vector<long long>> dp;
long long calc(char x) {
if(x == 'r') return 0;
if(x == 's') return 1;
return 2;
}
long long solve();
int main() {
cin >> n >> k >> rsp[0] >> rsp[1] >> rsp[2] >> t;
cout << solve() << endl;
return 0;
}
long long solve() {
long long res = 0;
dp.assign(n + 1, vector<long long>(3, 0));
for(int i = 0; i < n; ++i)
for(int j = 0; j < 3; ++j) {
long long now = 0, nowhand = calc(t[i]);
if(i >= k)
for(int l = 0; l < 3; ++l)
if(j != l) now = max(now, dp[i - k][l]);
if((j + 1) % 3 == nowhand) now += rsp[j];
dp[i][j] = now;
}
for(int i = 0; i < k; ++i) {
long long now = 0;
for(int j = 0; j < 3; ++j)
now = max(now, dp[n - 1 - i][j]);
res += now;
}
return res;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Prediction and Restriction |
| User | m_tsubasa |
| Language | C++14 (GCC 5.4.1) |
| Score | 400 |
| Code Size | 903 Byte |
| Status | AC |
| Exec Time | 14 ms |
| Memory | 5888 KiB |
Judge Result
| Set Name | Sample | All | after_contest | ||||
|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | 0 / 0 | ||||
| Status |
|
|
AC |
| 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, 101.txt, 102.txt, 103.txt, 104.txt, 105.txt, 106.txt, 107.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, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, s1.txt, s2.txt, s3.txt |
| after_contest |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 1 ms | 256 KiB |
| 02.txt | AC | 1 ms | 256 KiB |
| 03.txt | AC | 1 ms | 256 KiB |
| 04.txt | AC | 1 ms | 256 KiB |
| 05.txt | AC | 1 ms | 256 KiB |
| 06.txt | AC | 1 ms | 256 KiB |
| 07.txt | AC | 1 ms | 256 KiB |
| 08.txt | AC | 1 ms | 256 KiB |
| 09.txt | AC | 9 ms | 3840 KiB |
| 10.txt | AC | 9 ms | 3456 KiB |
| 101.txt | AC | 13 ms | 5888 KiB |
| 102.txt | AC | 14 ms | 5760 KiB |
| 103.txt | AC | 14 ms | 5760 KiB |
| 104.txt | AC | 14 ms | 5760 KiB |
| 105.txt | AC | 1 ms | 256 KiB |
| 106.txt | AC | 1 ms | 256 KiB |
| 107.txt | AC | 14 ms | 5760 KiB |
| 11.txt | AC | 9 ms | 3712 KiB |
| 12.txt | AC | 10 ms | 4224 KiB |
| 13.txt | AC | 11 ms | 4608 KiB |
| 14.txt | AC | 3 ms | 896 KiB |
| 15.txt | AC | 4 ms | 1536 KiB |
| 16.txt | AC | 4 ms | 1280 KiB |
| 17.txt | AC | 14 ms | 5632 KiB |
| 18.txt | AC | 14 ms | 5632 KiB |
| 19.txt | AC | 12 ms | 5376 KiB |
| 20.txt | AC | 13 ms | 5248 KiB |
| 21.txt | AC | 13 ms | 5504 KiB |
| 22.txt | AC | 13 ms | 5760 KiB |
| 23.txt | AC | 13 ms | 5760 KiB |
| 24.txt | AC | 13 ms | 5504 KiB |
| 25.txt | AC | 14 ms | 5760 KiB |
| 26.txt | AC | 14 ms | 5760 KiB |
| 27.txt | AC | 12 ms | 5376 KiB |
| 28.txt | AC | 14 ms | 5760 KiB |
| 29.txt | AC | 13 ms | 5376 KiB |
| 30.txt | AC | 14 ms | 5760 KiB |
| 31.txt | AC | 13 ms | 5760 KiB |
| 32.txt | AC | 14 ms | 5632 KiB |
| 33.txt | AC | 13 ms | 5504 KiB |
| 34.txt | AC | 14 ms | 5760 KiB |
| 35.txt | AC | 12 ms | 5376 KiB |
| 36.txt | AC | 13 ms | 5376 KiB |
| 37.txt | AC | 14 ms | 5760 KiB |
| 38.txt | AC | 13 ms | 5376 KiB |
| 39.txt | AC | 13 ms | 5504 KiB |
| 40.txt | AC | 14 ms | 5760 KiB |
| 41.txt | AC | 13 ms | 5632 KiB |
| 42.txt | AC | 13 ms | 5632 KiB |
| 43.txt | AC | 13 ms | 5248 KiB |
| 44.txt | AC | 12 ms | 5376 KiB |
| 45.txt | AC | 13 ms | 5504 KiB |
| 46.txt | AC | 13 ms | 5504 KiB |
| 47.txt | AC | 13 ms | 5376 KiB |
| 48.txt | AC | 13 ms | 5632 KiB |
| s1.txt | AC | 1 ms | 256 KiB |
| s2.txt | AC | 1 ms | 256 KiB |
| s3.txt | AC | 1 ms | 256 KiB |