結果
問題 |
No.6 使いものにならないハッシュ
|
ユーザー |
|
提出日時 | 2022-04-23 17:45:06 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 78 ms / 5,000 ms |
コード長 | 971 bytes |
コンパイル時間 | 1,740 ms |
コンパイル使用メモリ | 171,860 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 04:55:26 |
合計ジャッジ時間 | 3,926 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ long long int K,N; cin >> K >> N; vector<long long int> P(0); for(long long int i=K;i<=N;i++){ if(i == 1) continue; bool flag = true; for(long long int j=2;j*j<=i;j++){ if(i%j == 0){ flag = false; break; } } if(flag) P.push_back(i); } vector<long long int> A(P.size()); for(int i=0;i<P.size();i++){ A[i] = P[i]; while(A[i] >= 10){ long long int S = 0; while(A[i] > 0){ S += A[i]%10; A[i] /= 10; } A[i] = S; } } for(int i=9;i>=1;i--){ int ans = -1; for(int j=0;j<(int)P.size()-i+1;j++){ vector<bool> used(10,false); bool ok = true; for(int k=j;k<j+i;k++){ if(used[A[k]]){ ok = false; break; } else used[A[k]] = true; } if(ok) ans = P[j]; } if(ans != -1){ cout << ans << endl; break; } } }