提出 #577450
ソースコード 拡げる
#include <iostream>
#include <vector>
#include <string>
#include <vector>
using namespace std;
struct panel {
int left, right;
int dir;
panel();
panel(int l, int r, int d) {
left = l;
right = r;
dir = d;
}
};
bool pop(vector<panel> & vp, int pos) {
if(vp[pos].dir == 0) return false;
vp[vp[pos].left].right = vp[pos].right;
vp[vp[pos].right].left = vp[pos].left;
return true;
}
int main() {
int n;
string s;
cin >> n >> s;
vector<panel> v;
v.push_back(panel(-1, 1, 0));
for(int i = 0; i < s.size(); i++) {
v.push_back(panel(i,i+2,s[i]=='<' ? -1 : 1));
}
v.push_back(panel(n, n+2, 0));
int l, r;
int res = 0;
l = 1;
r = n;
while(l <= r) {
int m = (l+r) / 2;
int pos = m;
int cnt = 0;
vector<panel> vv = v;
while(vv[pos].dir) {
int nex = (vv[pos].dir + 1) ? vv[pos].right : vv[pos].left;
pop(vv, pos);
pos = nex;
cnt++;
}
res = max(res, cnt);
if(pos) {
r = m-1;
}
else {
l = m+1;
}
}
cout << res << endl;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Line Gimmick |
| ユーザ | qu1temp1 |
| 言語 | C++11 (GCC 4.8.1) |
| 得点 | 100 |
| コード長 | 1037 Byte |
| 結果 | AC |
| 実行時間 | 54 ms |
| メモリ | 3416 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 | 24 ms | 928 KiB |
| 00_sample_01 | AC | 23 ms | 928 KiB |
| 00_sample_02 | AC | 24 ms | 804 KiB |
| 00_sample_03 | AC | 23 ms | 796 KiB |
| 10_simple_small_000 | AC | 24 ms | 928 KiB |
| 10_simple_small_001 | AC | 24 ms | 920 KiB |
| 10_simple_small_002 | AC | 24 ms | 928 KiB |
| 10_simple_small_003 | AC | 25 ms | 672 KiB |
| 10_simple_small_004 | AC | 24 ms | 796 KiB |
| 11_simple_med_000 | AC | 24 ms | 800 KiB |
| 11_simple_med_001 | AC | 24 ms | 920 KiB |
| 11_simple_med_002 | AC | 24 ms | 932 KiB |
| 11_simple_med_003 | AC | 24 ms | 924 KiB |
| 11_simple_med_004 | AC | 24 ms | 804 KiB |
| 12_simple_large_000 | AC | 40 ms | 2256 KiB |
| 12_simple_large_001 | AC | 38 ms | 2200 KiB |
| 12_simple_large_002 | AC | 54 ms | 3416 KiB |
| 12_simple_large_003 | AC | 53 ms | 3156 KiB |
| 12_simple_large_004 | AC | 53 ms | 3288 KiB |
| 21_answer_med_000 | AC | 51 ms | 3156 KiB |
| 21_answer_med_001 | AC | 53 ms | 3292 KiB |
| 21_answer_med_002 | AC | 52 ms | 3408 KiB |
| 21_answer_med_003 | AC | 39 ms | 2264 KiB |
| 21_answer_med_004 | AC | 51 ms | 3296 KiB |
| 22_answer_large_000 | AC | 42 ms | 2644 KiB |
| 22_answer_large_001 | AC | 51 ms | 3284 KiB |
| 22_answer_large_002 | AC | 43 ms | 2768 KiB |
| 22_answer_large_003 | AC | 45 ms | 2768 KiB |
| 22_answer_large_004 | AC | 54 ms | 3292 KiB |