提出 #577205
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
#define FZ(n) memset((n),0,sizeof(n))
#define FMO(n) memset((n),-1,sizeof(n))
#define F first
#define S second
#define PB push_back
#define ALL(x) begin(x),end(x)
#define SZ(x) ((int)(x).size())
#define IOS ios_base::sync_with_stdio(0); cin.tie(0)
template<typename A, typename B>
ostream& operator <<(ostream &s, const pair<A,B> &p) {
return s<<"("<<p.first<<","<<p.second<<")";
}
template<typename T>
ostream& operator <<(ostream &s, const vector<T> &c) {
s<<"[ ";
for (auto it : c) s << it << " ";
s<<"]";
return s;
}
// Let's Fight!
typedef pair<int, int> pii;
int N;
string ip;
pii walk(int s) {
int l = s, r = s+1;
int pos = s;
for (int i=0; i<N; i++) {
int dir = (ip[pos] == '>' ? 1 : 0);
if (dir == 1) {
pos = r;
r++;
} else {
pos = l - 1;
l --;
}
if (pos < 0 or pos >= N) {
return {i+1, (pos < 0 ? 1 : 0)};
}
}
return {-1, -1};
}
int main() {
IOS;
cin >> N;
cin >> ip;
int l = 0, r = N-1;
while (l < r) {
int md = (l+r+1)/2;
if (walk(md).S) {
l = md;
} else {
r = md - 1;
}
}
int ans = walk(l).F;
if (l < N-1) {
ans = max(ans, walk(l+1).F);
}
cout << ans << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Line Gimmick |
| ユーザ | bcw0x1bd2 |
| 言語 | C++11 (GCC 4.8.1) |
| 得点 | 100 |
| コード長 | 1290 Byte |
| 結果 | AC |
| 実行時間 | 41 ms |
| メモリ | 1064 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 10_simple_small_000, 10_simple_small_001, 10_simple_small_002, 10_simple_small_003, 10_simple_small_004, 11_simple_med_000, 11_simple_med_001, 11_simple_med_002, 11_simple_med_003, 11_simple_med_004, 12_simple_large_000, 12_simple_large_001, 12_simple_large_002, 12_simple_large_003, 12_simple_large_004, 21_answer_med_000, 21_answer_med_001, 21_answer_med_002, 21_answer_med_003, 21_answer_med_004, 22_answer_large_000, 22_answer_large_001, 22_answer_large_002, 22_answer_large_003, 22_answer_large_004 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00 | AC | 25 ms | 924 KiB |
| 00_sample_01 | AC | 28 ms | 764 KiB |
| 00_sample_02 | AC | 25 ms | 800 KiB |
| 00_sample_03 | AC | 24 ms | 928 KiB |
| 10_simple_small_000 | AC | 25 ms | 804 KiB |
| 10_simple_small_001 | AC | 26 ms | 924 KiB |
| 10_simple_small_002 | AC | 25 ms | 928 KiB |
| 10_simple_small_003 | AC | 24 ms | 924 KiB |
| 10_simple_small_004 | AC | 25 ms | 924 KiB |
| 11_simple_med_000 | AC | 25 ms | 924 KiB |
| 11_simple_med_001 | AC | 25 ms | 928 KiB |
| 11_simple_med_002 | AC | 24 ms | 800 KiB |
| 11_simple_med_003 | AC | 25 ms | 924 KiB |
| 11_simple_med_004 | AC | 28 ms | 760 KiB |
| 12_simple_large_000 | AC | 33 ms | 1044 KiB |
| 12_simple_large_001 | AC | 33 ms | 932 KiB |
| 12_simple_large_002 | AC | 40 ms | 1052 KiB |
| 12_simple_large_003 | AC | 41 ms | 1052 KiB |
| 12_simple_large_004 | AC | 39 ms | 928 KiB |
| 21_answer_med_000 | AC | 38 ms | 1052 KiB |
| 21_answer_med_001 | AC | 40 ms | 1056 KiB |
| 21_answer_med_002 | AC | 39 ms | 1064 KiB |
| 21_answer_med_003 | AC | 33 ms | 1056 KiB |
| 21_answer_med_004 | AC | 39 ms | 1056 KiB |
| 22_answer_large_000 | AC | 31 ms | 928 KiB |
| 22_answer_large_001 | AC | 36 ms | 1052 KiB |
| 22_answer_large_002 | AC | 29 ms | 1056 KiB |
| 22_answer_large_003 | AC | 27 ms | 1048 KiB |
| 22_answer_large_004 | AC | 38 ms | 932 KiB |