結果
| 問題 | No.6 使いものにならないハッシュ | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2025-06-07 20:04:43 | 
| 言語 | Rust (1.83.0 + proconio) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 3 ms / 5,000 ms | 
| コード長 | 768 bytes | 
| コンパイル時間 | 11,218 ms | 
| コンパイル使用メモリ | 390,104 KB | 
| 実行使用メモリ | 7,844 KB | 
| 最終ジャッジ日時 | 2025-06-07 20:04:57 | 
| 合計ジャッジ時間 | 12,929 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 32 | 
ソースコード
use proconio::*;
fn main(){
    input!{k:usize,n:usize}
    let mut is_p = vec![true; n+1];
    is_p[0]=false;is_p[1]=false;
    let mut hash = vec![0; 200010];
    let mut list = vec![];
    for i in 2..=n{
        if !is_p[i]{ continue; }
        if i >= k {hash[list.len()]=(i-1)%9+1; list.push(i);}
        for j in (i*i..=n).step_by(i){
            is_p[j]=false;
        }
    }
    let mut mx = 0;
    let n = list.len();
    let mut ans = !0;
    let (mut l, mut r) = (0, 0);
    let mut cnt = [0; 10];
    while l<n{
        while r<n && cnt[hash[r]]==0{
            cnt[hash[r]]+=1;
            r+=1;
        }
        if mx<=r-l{
            mx=r-l;
            ans=list[l];
        }
        cnt[hash[l]]-=1;
        l+=1;
    }
    println!("{}", ans);
}
            
            
            
        