Submission #577489


Source Code Expand

#include <bits/stdc++.h>
using namespace std;


int calc(const string &S) {
  int N = S.size();
  deque<int> L, R;
  for (int i = 0; i < N; ++i) {
    if (S[i] == '<') R.push_back(i);
  }
  int res = 0;
  for (int i = 0; i < N; ++i) {
    if (S[i] == '<') R.pop_front();
    int len = 0;
    if (S[i] == '>') {
      if (L.size() < R.size()) { // to left
        len = R[L.size()] + 1;
      } else { // to right
        if (R.size() == 0) len = N - i;
        else len = N - L[R.size()-1];
      }
    }
    res = max(res, len);
    if (S[i] == '>') L.push_front(i);
  }
  return res;
}

int main() {
  int N;
  string S, T;
  while (cin >> N) {
    cin >> S;
    T = S;
    reverse(T.begin(), T.end());
    for (int i = 0; i < T.size(); ++i) {
      if (T[i] == '<') T[i] = '>';
      else T[i] = '<';
    }
    //cout << S << " " << calc(S) << endl;
    //cout << T << " " << calc(T) << endl;
    cout << max(calc(S), calc(T)) << endl;
  }
  return 0;
}

Submission Info

Submission Time
Task D - Line Gimmick
User FinalZukky
Language C++ (GCC 4.4.7)
Score 100
Code Size 1002 Byte
Status AC
Exec Time 38 ms
Memory 1192 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 29
Set Name Test Cases
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
Case Name Status Exec Time Memory
00_sample_00 AC 27 ms 800 KiB
00_sample_01 AC 23 ms 924 KiB
00_sample_02 AC 24 ms 796 KiB
00_sample_03 AC 24 ms 800 KiB
10_simple_small_000 AC 24 ms 796 KiB
10_simple_small_001 AC 24 ms 800 KiB
10_simple_small_002 AC 24 ms 796 KiB
10_simple_small_003 AC 24 ms 676 KiB
10_simple_small_004 AC 24 ms 744 KiB
11_simple_med_000 AC 24 ms 928 KiB
11_simple_med_001 AC 23 ms 800 KiB
11_simple_med_002 AC 23 ms 920 KiB
11_simple_med_003 AC 24 ms 800 KiB
11_simple_med_004 AC 23 ms 748 KiB
12_simple_large_000 AC 31 ms 928 KiB
12_simple_large_001 AC 31 ms 928 KiB
12_simple_large_002 AC 37 ms 1188 KiB
12_simple_large_003 AC 34 ms 1152 KiB
12_simple_large_004 AC 36 ms 1188 KiB
21_answer_med_000 AC 35 ms 1068 KiB
21_answer_med_001 AC 36 ms 1180 KiB
21_answer_med_002 AC 36 ms 1184 KiB
21_answer_med_003 AC 31 ms 932 KiB
21_answer_med_004 AC 36 ms 1152 KiB
22_answer_large_000 AC 32 ms 1056 KiB
22_answer_large_001 AC 38 ms 1192 KiB
22_answer_large_002 AC 30 ms 1060 KiB
22_answer_large_003 AC 31 ms 1184 KiB
22_answer_large_004 AC 35 ms 1192 KiB