結果
| 問題 |
No.204 ゴールデン・ウィーク(2)
|
| コンテスト | |
| ユーザー |
古寺いろは
|
| 提出日時 | 2015-05-08 23:10:41 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 1,165 bytes |
| コンパイル時間 | 1,722 ms |
| コンパイル使用メモリ | 160,508 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-24 11:37:43 |
| 合計ジャッジ時間 | 2,944 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 46 |
ソースコード
#include "bits/stdc++.h"
using namespace std;
int main() {
int D;
cin >> D;
string s1, s2;
cin >> s1 >> s2;
s1 += s2;
int ans = D;
int cnt2 = 0;
s1 = "xxxxxxxxxxxxxxxxxxxx" + s1 + "xxxxxxxxxxxxxxxxxxxxxx";
for (int i = 0; i < s1.size(); i++)
{
if (s1[i] == 'o'){
cnt2++;
ans = max(cnt2, ans);
}
else cnt2 = 0;
}
if (D == 0){
cout << ans << endl;
return 0;
}
for (int j = 0; j < s1.size(); j++)
{
int tempans = 0;
int cnt = 0;
tempans = cnt;
int j2 = j;
for (int i = 0; i < s1.size(); i++)
{
if (((i - j2) >= 0 && (i - j2) < D)){
if (s1[i] == 'o'){
//tempans = -10000;
//break;
cnt++;
tempans = max(tempans, cnt);
j2 = -10000;
}
else{
cnt++;
tempans = max(tempans, cnt);
}
}
else if (s1[i] == 'o'){
cnt++;
tempans = max(tempans, cnt);
}
else cnt = 0;
/*
if ((((i - j) >= 0 && (i - j) < D)) || s1[i] == 'o'){
cnt++;
tempans = max(tempans, cnt);
}
else cnt = 0;
*/
}
if (tempans < 0) continue;
tempans = max(cnt, tempans);
ans = max(ans, tempans);
}
//ans = min(ans, 14);
cout << ans << endl;
cin >> ans;
}
古寺いろは