提出 #577650
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
string s;
cin >> n >> s;
int a[n+1],b[n+1],x=0,y=0;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=0; i<n; i++) {
a[i+1]+=a[i]+(s[i]=='>');
x+=(s[i]=='>');
}
for(int i=n-1; i>=0; i--) {
b[n-i]+=b[n-i-1]+(s[i]=='<');
y+=(s[i]=='<');
}
int ans=0;
for(int i=0; i<n; i++) {
int res=0;
int l=i+1,r=n-i;
if(s[i]=='>') {
if(a[l]-1>=b[r]) {
int d=lower_bound(a,a+n,a[l]-b[r])-a;
res+=x-a[d-1]+b[n-d];
} else {
int d=lower_bound(b,b+n,b[r]-a[l]+1)-b;
res+=y-b[d-1]+a[n-d];
}
} else {
if(b[r]-1>=a[l]) {
int d=lower_bound(b,b+n,b[r]-a[l])-b;
res+=y-b[d-1]+a[n-d];
} else {
int d=lower_bound(a,a+n,a[l]-b[r]+1)-a;
res+=x-a[d-1]+b[n-d];
}
}
ans=max(ans,res);
}
cout << ans << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Line Gimmick |
| ユーザ | woodpecker |
| 言語 | C++ (G++ 4.6.4) |
| 得点 | 100 |
| コード長 | 972 Byte |
| 結果 | AC |
| 実行時間 | 47 ms |
| メモリ | 1964 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 | 29 ms | 1044 KiB |
| 00_sample_01 | AC | 26 ms | 936 KiB |
| 00_sample_02 | AC | 27 ms | 1048 KiB |
| 00_sample_03 | AC | 27 ms | 1040 KiB |
| 10_simple_small_000 | AC | 26 ms | 976 KiB |
| 10_simple_small_001 | AC | 28 ms | 1044 KiB |
| 10_simple_small_002 | AC | 26 ms | 1044 KiB |
| 10_simple_small_003 | AC | 28 ms | 1048 KiB |
| 10_simple_small_004 | AC | 28 ms | 1040 KiB |
| 11_simple_med_000 | AC | 28 ms | 1040 KiB |
| 11_simple_med_001 | AC | 28 ms | 1044 KiB |
| 11_simple_med_002 | AC | 29 ms | 928 KiB |
| 11_simple_med_003 | AC | 27 ms | 1036 KiB |
| 11_simple_med_004 | AC | 27 ms | 1044 KiB |
| 12_simple_large_000 | AC | 37 ms | 1448 KiB |
| 12_simple_large_001 | AC | 37 ms | 1448 KiB |
| 12_simple_large_002 | AC | 47 ms | 1960 KiB |
| 12_simple_large_003 | AC | 43 ms | 1832 KiB |
| 12_simple_large_004 | AC | 43 ms | 1956 KiB |
| 21_answer_med_000 | AC | 43 ms | 1836 KiB |
| 21_answer_med_001 | AC | 46 ms | 1964 KiB |
| 21_answer_med_002 | AC | 45 ms | 1960 KiB |
| 21_answer_med_003 | AC | 38 ms | 1560 KiB |
| 21_answer_med_004 | AC | 44 ms | 1872 KiB |
| 22_answer_large_000 | AC | 40 ms | 1704 KiB |
| 22_answer_large_001 | AC | 45 ms | 1964 KiB |
| 22_answer_large_002 | AC | 39 ms | 1708 KiB |
| 22_answer_large_003 | AC | 40 ms | 1708 KiB |
| 22_answer_large_004 | AC | 47 ms | 1952 KiB |