提出 #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
結果
AC × 29
セット名 テストケース
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