結果
| 問題 |
No.204 ゴールデン・ウィーク(2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-06-08 21:46:21 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.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;
}