結果
問題 | No.1433 Two color sequence |
ユーザー |
![]() |
提出日時 | 2021-03-23 15:15:01 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 88 ms / 2,000 ms |
コード長 | 1,478 bytes |
コンパイル時間 | 3,167 ms |
コンパイル使用メモリ | 164,272 KB |
実行使用メモリ | 14,464 KB |
最終ジャッジ日時 | 2024-11-25 07:06:09 |
合計ジャッジ時間 | 6,692 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <iostream>#include <iomanip>#include <cstdio>#include <queue>#include <cstring>#include <vector>#include <map>#include <algorithm>#include <cctype>#include <cmath>#include <bitset>#include <set>#include <deque>#include <stack>#include <atcoder/all>using namespace std;#define REP(i,n) for(int i=0;i<(int)(n);i++)#define RREP(i,n) for(int i=n-1;i>=0;i--)#define FOR(i,k,n) for(int i=(k);i<(int)(n);i++)#define all(i,n) (i),(i+n)int dx4[4]={1,0,-1,0};int dy4[4]={0,-1,0,1};int dx8[8]={1,0,-1,1,-1,1,0,-1};int dy8[8]={1,1,1,0,0,-1,-1,-1};typedef pair<int, int> P;typedef pair<string, int> SP;typedef long long ll;typedef pair<ll, ll> PLL;const int INF = 1e9;const ll LLINF = 1e18;const int MAX_V = 1e6+1;// const ll mod = 1e9 + 7;// cout << fixed << setprecision(10)// --------------------------------------int n;string s;int main() {cin.tie(0);ios::sync_with_stdio(false);cin >> n >> s;vector<ll> sum(n + 1, 0);REP(i, n) {int a;cin >> a;if(s[i] == 'B') a *= -1;sum[i + 1] = sum[i] + a;}ll ans = 0;set<ll> se;REP(i, n + 1) {if(i) {ll t = sum[i];ll m;if(t > 0) {m = *se.begin();} else if(t < 0) {m = *(--se.end());} else {ll mmi = *se.begin();ll mma = *(--se.end());m = max(abs(mmi), abs(mma));}ans = max(ans, abs(t - m));}se.insert(sum[i]);}cout << ans << endl;}