結果
問題 | No.2276 I Want AC |
ユーザー |
![]() |
提出日時 | 2023-04-21 21:31:39 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 1,242 bytes |
コンパイル時間 | 1,715 ms |
コンパイル使用メモリ | 192,428 KB |
最終ジャッジ日時 | 2025-02-12 11:07:25 |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 56 |
ソースコード
#include<bits/stdc++.h>using namespace std;#define rep(i, a, n) for(int i=(a); i<(n); ++i)#define per(i, a, n) for(int i=(a); i>(n); --i)#define pb emplace_back#define mp make_pair#define clr(a, b) memset(a, b, sizeof(a))#define all(x) (x).begin(),(x).end()#define lowbit(x) (x & -x)#define fi first#define se second#define lson o<<1#define rson o<<1|1#define gmid l[o]+r[o]>>1using ll = long long;using ull = unsigned long long;using pii = pair<int,int>;using pll = pair<ll, ll>;using ui = unsigned int;constexpr int mod = 998244353;constexpr int inf = 0x3f3f3f3f;constexpr double EPS = 1e-8;const double PI = acos(-1.0);constexpr int N = 2e5 + 10;void _main(){int n;string s;cin >> n >> s;ll ans, cur = 0;int pre = 0, all = 0, suf = 0;rep(i, 0, n){if(s[i] == 'A'){++pre;} else {cur += pre;++suf;}}ans = cur;pre = 0;rep(i, 0, n){if(s[i] == 'A'){++pre;} else if(s[i] == 'C'){--suf;} else if(s[i] == '?'){--suf;cur = cur - pre + suf;++pre;}ans = max(ans, cur);}cout << ans << '\n';}int main(){ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);_main();return 0;}