結果
| 問題 |
No.6 使いものにならないハッシュ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-03 08:45:36 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
RE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,363 bytes |
| コンパイル時間 | 662 ms |
| コンパイル使用メモリ | 67,152 KB |
| 実行使用メモリ | 6,940 KB |
| 最終ジャッジ日時 | 2024-09-16 16:36:56 |
| 合計ジャッジ時間 | 1,800 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 RE * 1 |
ソースコード
#include <iostream>
#include <vector>
using namespace std;
vector<int> calc(int k,int n){
vector<int> v(n+1);
for(int i=2; i<=n; ++i){
v[i]=i;
}
for(int i=2; i*i<=n; ++i){
if(v[i]){
for(int j=i*i; j<=n; j+=i){
v[j]=0;
}
}
}
vector<int> v2;
for(int i=0; i<=n; ++i){
int a=v[i];
if(a>=k && a!=0) v2.push_back(a);
}
return v2;
}
int calc2(int a){
int b=a;
int x=0;
while(1){
string s=to_string(b);
if(s.size()<2){
x=b;
break;
}
int d=0;
for(int i=0; i<s.size(); ++i){
int c=s[i]-'0';
d+=c;
}
b=d;
}
return x;
}
int ary[10];
int main(){
int k,n;
cin>>k;
cin>>n;
vector<int> v=calc(k,n);
vector<vector<int>> vv;
int x=0;
for(int i=0; i<v.size()-1; ++i){
int a=calc2(v[i]);
ary[a]=1;
vector<int> v2;
v2.push_back(v[i]);
for(int j=i+1; j<v.size(); ++j){
int b=calc2(v[j]);
if(ary[b]==0){
ary[b]=1;
v2.push_back(v[j]);
if(j==v.size()-1){
if(x<=v2.size()){
x=v2.size();
vv.push_back(v2);
}
}
} else {
if(x<=v2.size()){
x=v2.size();
vv.push_back(v2);
}
break;
}
}
for(int j=0; j<10; ++j){
ary[j]=0;
}
}
cout<<vv[vv.size()-1][0]<<endl;
return 0;
}