結果
問題 | No.910 素数部分列 |
ユーザー |
![]() |
提出日時 | 2019-09-04 00:33:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 845 bytes |
コンパイル時間 | 1,993 ms |
コンパイル使用メモリ | 199,484 KB |
最終ジャッジ日時 | 2025-01-07 16:26:01 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 WA * 36 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; string S; cin >> S; int ret = 0; string T; for(auto &c : S) { if(c == '3' || c == '5' || c == '7') { ++ret; } else { T += c; } } vector< int > used(T.size()); queue< int > nine, one; for(int i = 0; i < T.size(); i++) { if(T[i] == '9') { nine.emplace(i); } else if(nine.size() >= 2) { used[nine.front()] = true; nine.pop(); used[nine.front()] = true; nine.pop(); used[i] = true; ++ret; } } for(int i = 0; i < T.size(); i++) { if(used[i]) continue; if(T[i] == '1') { one.emplace(i); } else if(one.size()) { used[one.front()] = true; one.pop(); used[i] = true; ++ret; } } cout << ret + one.size() / 2 << endl; }