結果
問題 |
No.910 素数部分列
|
ユーザー |
![]() |
提出日時 | 2019-10-18 22:05:52 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 783 bytes |
コンパイル時間 | 587 ms |
コンパイル使用メモリ | 119,552 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-30 15:04:20 |
合計ジャッジ時間 | 2,197 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 2 |
other | AC * 11 WA * 38 RE * 1 |
ソースコード
#include <iostream> using namespace std; int main(){ int N; string S,T = ""; cin >> N >> S; int ans = 0; for(int i=0;i<N;i++){ if(S[i]!='1' && S[i]!='9') ans++; else T += S[i]; } int one = 0,nine = 0; int ans2 = 0; int n = T.size(); for(int i=n-1;i>=0;i--){ if(T[i]=='9') nine++; else{ if(nine){ nine--; ans2++; }else one++; } } ans2 += one/2; one = 0,nine = 0; int ans3 = 0; for(int i=0;i<N;i++){ if(T[i]=='9') nine++; else{ if(nine>=2){ nine -= 2; ans3++; }else one++; } } ans3 += one/2; cout << ans+max(ans2,ans3) << endl; }