結果
問題 |
No.1943 消えたAGCT(1)
|
ユーザー |
![]() |
提出日時 | 2022-05-20 21:26:16 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 99 ms / 2,000 ms |
コード長 | 701 bytes |
コンパイル時間 | 3,911 ms |
コンパイル使用メモリ | 253,852 KB |
最終ジャッジ日時 | 2025-01-29 10:04:03 |
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000 bool check(char c){ if(c=='A'||c=='G'||c=='T'||c=='C')return true; return false; } int main() { int n; cin>>n; string s; cin>>s; int c = 0; rep(i,n){ if(check(s[i]))c++; } deque<char> X,Y; rep(i,n)X.push_back(s[i]); while(c!=0){ while(X.size()>c){ Y.push_front(X.back()); X.pop_back(); } while(X.size()<c){ X.push_back(Y.front()); Y.pop_front(); } if(check(X.back()))c--; X.pop_back(); } n -= X.size(); n -= Y.size(); cout<<n<<endl; return 0; }