結果
問題 | No.1433 Two color sequence |
ユーザー |
![]() |
提出日時 | 2021-03-19 23:53:25 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 88 ms / 2,000 ms |
コード長 | 1,289 bytes |
コンパイル時間 | 671 ms |
コンパイル使用メモリ | 86,516 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-19 02:43:45 |
合計ジャッジ時間 | 3,546 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <utility>#include <cmath>#include <vector>#include <stack>#include <queue>#include <deque>#include <set>#include <map>#include <tuple>#include <numeric>#include <functional>using namespace std;typedef long long ll;typedef vector<ll> vl;typedef vector<vector<ll>> vvl;typedef pair<ll, ll> P;#define rep(i, n) for(ll i = 0; i < n; i++)#define exrep(i, a, b) for(ll i = a; i <= b; i++)#define out(x) cout << x << endl#define exout(x) printf("%.10f\n", x)#define chmax(x, y) x = max(x, y)#define chmin(x, y) x = min(x, y)#define all(a) a.begin(), a.end()#define rall(a) a.rbegin(), a.rend()#define pb push_back#define re0 return 0const ll mod = 1000000007;const ll INF = 1e16;int main() {ll n;string s;cin >> n >> s;vl a(n);rep(i, n) {cin >> a[i];if(s[i] == 'B') {a[i] *= -1;}}ll ans1 = -INF;ll ans2 = INF;ll x1 = 0;ll x2 = 0;rep(i, n) {x1 += a[i];x2 += a[i];chmax(ans1, x1);chmin(ans2, x2);if(x1 < 0) {x1 = 0;}if(x2 > 0) {x2 = 0;}}out(max(ans1, -ans2));re0;}