提出 #577442
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
int n;
char s[100010]={};
int lst[100010]={}, nxt[100010]={};
int ll[100010], sl = 0;
int nl[100010], sn = 0;
int lst2[100010]={}, nxt2[100010]={};
int main() {
scanf("%d%s", &n, s + 1);
for(int i = 1; i <= n; ++i) {
lst[i] = lst[i-1] + (s[i] == '>');
lst2[i] = lst2[i-1] + (s[i] == '<');
if(s[i] == '<') ll[sl++] = i;
}
for(int i = n; i >= 1; --i) {
nxt[i] = nxt[i+1] + (s[i] == '<');
nxt2[i] = nxt2[i+1] + (s[i] == '>');
if(s[i] == '>') nl[sn++] = i;
}
int ans = 0, tmp;
for(int i = 1; i <= n; ++i) {
if(s[i] == '>') {
if(lst[i] <= nxt[i]) {
tmp = ll[lst2[i] + lst[i] - 1];
}
else {
tmp = n - nl[nxt2[i] + nxt[i] - 1] + 1;
}
}
else {
if(lst[i] < nxt[i]) {
tmp = ll[lst2[i] + lst[i] - 1];
}
else {
tmp = n - nl[nxt2[i] + nxt[i] - 1] + 1;
}
}
// printf("ans %d = %d, %c %d %d\n", i, tmp, s[i], lst[i], nxt[i]);
ans = max(ans, tmp);
}
printf("%d\n", ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Line Gimmick |
| ユーザ | qwertyuiop |
| 言語 | C++11 (GCC 4.8.1) |
| 得点 | 100 |
| コード長 | 1045 Byte |
| 結果 | AC |
| 実行時間 | 30 ms |
| メモリ | 2852 KiB |
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:13:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%s", &n, s + 1);
^
ジャッジ結果
| セット名 | 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 | 808 KiB |
| 00_sample_01 | AC | 24 ms | 804 KiB |
| 00_sample_02 | AC | 24 ms | 800 KiB |
| 00_sample_03 | AC | 24 ms | 924 KiB |
| 10_simple_small_000 | AC | 22 ms | 928 KiB |
| 10_simple_small_001 | AC | 23 ms | 924 KiB |
| 10_simple_small_002 | AC | 23 ms | 928 KiB |
| 10_simple_small_003 | AC | 22 ms | 796 KiB |
| 10_simple_small_004 | AC | 24 ms | 932 KiB |
| 11_simple_med_000 | AC | 24 ms | 796 KiB |
| 11_simple_med_001 | AC | 24 ms | 932 KiB |
| 11_simple_med_002 | AC | 24 ms | 800 KiB |
| 11_simple_med_003 | AC | 24 ms | 800 KiB |
| 11_simple_med_004 | AC | 23 ms | 924 KiB |
| 12_simple_large_000 | AC | 27 ms | 1828 KiB |
| 12_simple_large_001 | AC | 27 ms | 1828 KiB |
| 12_simple_large_002 | AC | 30 ms | 2852 KiB |
| 12_simple_large_003 | AC | 30 ms | 2592 KiB |
| 12_simple_large_004 | AC | 30 ms | 2712 KiB |
| 21_answer_med_000 | AC | 28 ms | 2464 KiB |
| 21_answer_med_001 | AC | 30 ms | 2852 KiB |
| 21_answer_med_002 | AC | 30 ms | 2728 KiB |
| 21_answer_med_003 | AC | 29 ms | 1952 KiB |
| 21_answer_med_004 | AC | 30 ms | 2732 KiB |
| 22_answer_large_000 | AC | 27 ms | 2336 KiB |
| 22_answer_large_001 | AC | 29 ms | 2716 KiB |
| 22_answer_large_002 | AC | 29 ms | 2208 KiB |
| 22_answer_large_003 | AC | 26 ms | 2204 KiB |
| 22_answer_large_004 | AC | 30 ms | 2844 KiB |