結果
問題 | No.910 素数部分列 |
ユーザー |
![]() |
提出日時 | 2022-09-22 07:16:12 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 171 ms / 1,000 ms |
コード長 | 1,012 bytes |
コンパイル時間 | 268 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 13,808 KB |
最終ジャッジ日時 | 2024-12-22 04:42:39 |
合計ジャッジ時間 | 7,845 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
import bisectimport copyimport decimalimport fractionsimport heapqimport itertoolsimport mathimport randomimport sysimport timefrom collections import Counter,deque,defaultdictfrom functools import lru_cache,reducefrom heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_maxdef _heappush_max(heap,item):heap.append(item)heapq._siftdown_max(heap, 0, len(heap)-1)def _heappushpop_max(heap, item):if heap and item < heap[0]:item, heap[0] = heap[0], itemheapq._siftup_max(heap, 0)return itemfrom math import gcd as GCDread=sys.stdin.readreadline=sys.stdin.readlinereadlines=sys.stdin.readlineswrite=sys.stdout.writeN=int(readline())ans=0S=[]for s in readline().rstrip():if s in "357":ans+=1else:S.append(s)if len(S)>=2 and S[-2:]==["1","9"]:S.pop()S.pop()ans+=1cnt9,cnt1=S.count("9"),S.count("1")cnt=min(cnt9//2,cnt1)ans+=cntcnt9-=2*cntcnt1-=cntans+=cnt1//2print(ans)