提出 #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
結果
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 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