12pts,求助!
查看原帖
12pts,求助!
814343
bc2_cryeggy楼主2023/8/4 21:03

代码:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>

using namespace std;

using ll = long long;

const int kMaxN = 1e5 + 10;

int n, a[kMaxN], ans = 0;
string s;

int main() {
//  freopen("leaders.in", "r", stdin);
//  freopen("leaders.out", "w", stdout);
  cin >> n >> s;
  for (int i = 1; i <= n; ++ i) {
    cin >> a[i];
  }
  int firh = 0;
  for (int i = 0; i < n; ++ i) {
    if (s[i] == 'H') {
      firh = i;
      break;
    }
  }
  bool ff = 0, fff = 0;
  int firg = 0, endg = 0;
  for (int i = 0; i + 1 < firh; ++ i) {
    if (i + a[i + 1] >= firh) {
      ++ ans;
      if (s[i] == 'G' && !fff) {
        ff = 1;
      }
    }
    if (!fff && s[i] == 'G') {
      firg = i;
      fff = 1;
    }
    if (s[i] == 'G') {
      endg = i;
    }
  } 
  if (!ff && firg + a[firg + 1] >= endg) {
    ++ ans;
  }
  cout << ans << '\n';
  return 0;
}
2023/8/4 21:03
加载中...