結果
| 問題 | 
                            No.1809 Divide NCK
                             | 
                    
| コンテスト | |
| ユーザー | 
                             MasKoaTS
                         | 
                    
| 提出日時 | 2021-12-09 15:57:02 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 575 bytes | 
| コンパイル時間 | 275 ms | 
| コンパイル使用メモリ | 82,364 KB | 
| 実行使用メモリ | 58,856 KB | 
| 最終ジャッジ日時 | 2024-07-17 08:53:39 | 
| 合計ジャッジ時間 | 3,264 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 36 WA * 3 | 
ソースコード
#嘘解法 N,K,M = map(int,input().split()) def prime_factorize(n): prime = [] f = 2 while(f * f <= n): if(n % f == 0): n //= f cnt = 1 while(n % f == 0): n //= f cnt += 1 prime.append((f,cnt)) else: f += 1 if(n != 1): prime.append((n,1)) return prime def legendre(N,K,p,c): R = N - K cnt = 0 while(N): N //= p cnt += N while(K): K //= p cnt -= K while(R): R //= p cnt -= R return -(-cnt // c) prime = prime_factorize(M) ans = 10 ** 18 for p,c in prime: cnt = legendre(N,K,p,c) if(ans > cnt): ans = cnt print(ans)
            
MasKoaTS