結果
問題 | No.204 ゴールデン・ウィーク(2) |
ユーザー | augusuto04 |
提出日時 | 2015-06-08 21:46:21 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,039 bytes |
コンパイル時間 | 357 ms |
コンパイル使用メモリ | 52,696 KB |
最終ジャッジ日時 | 2024-11-14 19:04:07 |
合計ジャッジ時間 | 1,080 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function ‘int solve(std::string, int)’: main.cpp:18:3: error: ‘vector’ was not declared in this scope 18 | vector<int> vec; | ^~~~~~ main.cpp:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’? 2 | #include <algorithm> +++ |+#include <vector> 3 | using namespace std; main.cpp:18:10: error: expected primary-expression before ‘int’ 18 | vector<int> vec; | ^~~ main.cpp:24:7: error: ‘vec’ was not declared in this scope 24 | vec.push_back(tmp); | ^~~ main.cpp:28:3: error: ‘vec’ was not declared in this scope 28 | vec.push_back(tmp); | ^~~
ソースコード
#include <iostream> #include <algorithm> using namespace std; string conv(string str){ while(str[0] == 'x') str = str.substr(1, str.size() - 1); while(str[str.size() - 1] == 'x') str = str.substr(0, str.size() - 1); return str; } int solve(string str, int d){ str = conv(str); if(str.size() == 0) return d; vector<int> vec; int tmp = 1; for(int i = 1; i < str.size(); i++){ if(str[i] == str[i - 1]) tmp++; else { vec.push_back(tmp); tmp = 1; } } vec.push_back(tmp); if(vec.size() == 1) return vec[0] + d; int result; result = vec[0] + d; result = max(result, vec[vec.size() - 1] + d); for(int i = 1; i < vec.size(); i += 2){ if(vec[i] <= d) result = max(result, vec[i - 1] + vec[i] + vec[i + 1]); else { result = max(result, vec[i - 1] + d); result = max(result, vec[i + 1] + d); } } return result; } int main(){ int d; cin >> d; string a, b; cin >> a >> b; string str = a + b; cout << solve(str, d) << endl; }