結果
問題 | No.1433 Two color sequence |
ユーザー | masutech16 |
提出日時 | 2021-03-19 22:15:39 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 104 ms / 2,000 ms |
コード長 | 1,926 bytes |
コンパイル時間 | 1,917 ms |
コンパイル使用メモリ | 194,504 KB |
最終ジャッジ日時 | 2025-01-19 18:39:24 |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#line 1 "/workspaces/compro/lib/template.hpp"#line 1 "/workspaces/compro/lib/io/vector.hpp"#include <iostream>#include <vector>#ifndef IO_VECTOR#define IO_VECTORtemplate <class T> std::ostream &operator<<(std::ostream &out, const std::vector<T> &v) {int size = v.size();for (int i = 0; i < size; i++) {std::cout << v[i];if (i != size - 1)std::cout << " ";}return out;}template <class T> std::istream &operator>>(std::istream &in, std::vector<T> &v) {for (auto &el : v) {std::cin >> el;}return in;}#endif#line 4 "/workspaces/compro/lib/template.hpp"#include <bits/stdc++.h>#define REP(i, n) for (int i = 0; i < n; i++)#define FOR(i, m, n) for (int i = m; i < n; i++)#define ALL(v) (v).begin(), (v).end()#define coutd(n) cout << fixed << setprecision(n)#define ll long long int#define vl vector<ll>#define vi vector<int>#define MM << " " <<using namespace std;template <class T> void chmin(T &a, T b) {if (a > b)a = b;}template <class T> void chmax(T &a, T b) {if (a < b)a = b;}// 重複を消す。計算量はO(NlogN)template <class T> void unique(std::vector<T> &v) {std::sort(v.begin(), v.end());v.erase(std::unique(v.begin(), v.end()), v.end());}#line 2 "main.cpp"long long solve(int N, const std::vector<long long> &a) {ll ans = 0;ll s = 0;REP(i, N) {s = max(s + a[i], a[i]);chmax(ans, s);}return ans;}// generated by online-judge-template-generator v4.7.1 (https://github.com/online-judge-tools/template-generator)int main() {int N;std::string S;std::cin >> N;std::vector<long long> a(N);std::cin >> S;for (int i = 0; i < N; ++i) {std::cin >> a[i];}REP(i, N) {if (S[i] == 'R') {a[i] *= -1;}}ll ans = 0;chmax(ans, solve(N, a));REP(i, N) { a[i] *= -1; }chmax(ans, solve(N, a));std::cout << ans << std::endl;return 0;}