提出 #41760446
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define IOS ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>order_set;
typedef pair<int, int>pr;
#define all(i) i.begin() , i.end()
#define ft first
#define sn second
#define pb push_back
#define dbg cout<<"rony\n"
#define en "\n"
#define MAXN 300010
#define inf 1e6+5
const ll mod = 1e9 + 7;
ll x, y, z;
string s;
ll mem[MAXN][2];
int n;
ll f(ll i, ll ke)
{
if (i == n) return 0;
if (mem[i][ke] != -1) return mem[i][ke];
ll A = LLONG_MAX;
if (s[i] == 'A') {
if (ke == 1) {
A = min(A, x + f(i + 1, 1));
A = min(A, z + y + f(i + 1, 0));
A = min(A, z + z + y + f(i + 1, 1));
A = min(A, x + z + f(i + 1, 0));
}
else {
A = min(A, z + x + f(i + 1, 1));
A = min(A, y + f(i + 1, 0));
A = min(A, z + y + f(i + 1, 1));
A = min(A, z + x + z + f(i + 1, 0));
}
}
else {
if (ke == 1) {
A = min(A, y + f(i + 1, ke));
A = min(A, z + y + f(i + 1, 0));
A = min(A, z + x + f(i + 1, 0));
A = min(A, z + x + z + f(i + 1, 1));
}
else {
A = min(A, x + f(i + 1, 0));
A = min(A, x + z + f(i + 1, 1));
A = min(A, z + y + f(i + 1, 1));
A = min(A, z + y + z + f(i + 1, 0));
}
}
return mem[i][ke] = A;
}
void solve()
{
cin >> x >> y >> z;
cin >> s;
n = s.size();
memset(mem, -1, sizeof(mem));
ll an = f(0, 0);
cout << an << en;
}
int main()
{
IOS;
ll t;
t = 1;
// cin >> t;
int c = 0;
while ( t-- )
{
// cout<<"Case "<<++c<<": ";
solve();
}
return 0;
}
提出情報
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:87:9: warning: unused variable ‘c’ [-Wunused-variable]
87 | int c = 0;
| ^
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
400 / 400 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 01_small_09.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 02_rnd_09.txt, 03_max_00.txt, 03_max_01.txt, 03_max_02.txt, 03_max_03.txt, 04_border_00.txt, 04_border_01.txt, 04_border_02.txt, 04_border_03.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
10 ms |
8260 KiB |
| 00_sample_01.txt |
AC |
7 ms |
8216 KiB |
| 00_sample_02.txt |
AC |
8 ms |
8204 KiB |
| 01_small_00.txt |
AC |
10 ms |
8176 KiB |
| 01_small_01.txt |
AC |
9 ms |
8268 KiB |
| 01_small_02.txt |
AC |
8 ms |
8228 KiB |
| 01_small_03.txt |
AC |
7 ms |
8268 KiB |
| 01_small_04.txt |
AC |
7 ms |
8284 KiB |
| 01_small_05.txt |
AC |
7 ms |
8172 KiB |
| 01_small_06.txt |
AC |
13 ms |
8228 KiB |
| 01_small_07.txt |
AC |
9 ms |
8276 KiB |
| 01_small_08.txt |
AC |
9 ms |
8220 KiB |
| 01_small_09.txt |
AC |
7 ms |
8224 KiB |
| 02_rnd_00.txt |
AC |
29 ms |
22268 KiB |
| 02_rnd_01.txt |
AC |
24 ms |
20816 KiB |
| 02_rnd_02.txt |
AC |
25 ms |
20588 KiB |
| 02_rnd_03.txt |
AC |
23 ms |
18136 KiB |
| 02_rnd_04.txt |
AC |
25 ms |
18392 KiB |
| 02_rnd_05.txt |
AC |
20 ms |
17324 KiB |
| 02_rnd_06.txt |
AC |
25 ms |
18820 KiB |
| 02_rnd_07.txt |
AC |
19 ms |
16300 KiB |
| 02_rnd_08.txt |
AC |
26 ms |
20036 KiB |
| 02_rnd_09.txt |
AC |
19 ms |
15992 KiB |
| 03_max_00.txt |
AC |
28 ms |
22452 KiB |
| 03_max_01.txt |
AC |
35 ms |
22452 KiB |
| 03_max_02.txt |
AC |
26 ms |
22360 KiB |
| 03_max_03.txt |
AC |
24 ms |
22448 KiB |
| 04_border_00.txt |
AC |
24 ms |
22468 KiB |
| 04_border_01.txt |
AC |
27 ms |
22460 KiB |
| 04_border_02.txt |
AC |
27 ms |
22448 KiB |
| 04_border_03.txt |
AC |
29 ms |
22408 KiB |