結果
問題 |
No.6 使いものにならないハッシュ
|
ユーザー |
|
提出日時 | 2021-08-28 19:45:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 76 ms / 5,000 ms |
コード長 | 1,104 bytes |
コンパイル時間 | 3,603 ms |
コンパイル使用メモリ | 232,360 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 21:16:44 |
合計ジャッジ時間 | 5,739 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
コンパイルメッセージ
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/istream:39, from /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/sstream:38, from /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/complex:45, from /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/ccomplex:39, from /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/x86_64-pc-linux-gnu/bits/stdc++.h:54, from main.cpp:1: In member function 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>]', inlined from 'int main()' at main.cpp:30:9: /home/linuxbrew/.linuxbrew/Cellar/gcc@12/12.3.0/include/c++/12/ostream:202:25: warning: 'ans' may be used uninitialized [-Wmaybe-uninitialized] 202 | { return _M_insert(__n); } | ~~~~~~~~~^~~~~ main.cpp: In function 'int main()': main.cpp:24:10: note: 'ans' was declared here 24 | ll K,N,ans,m=0,r=0;cin>>K>>N;vector<P>A;vector<bool>X(10,1); | ^~~
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; typedef long long int ll; typedef long double ld; #define max 1e18 #define FOR(i,l,r) for(ll i=l;i<r;i++) #define REP(i,n) FOR(i,0,n) #define RFOR(i,l,r) for(ll i=r-1;i>=l;i--) #define RREP(i,n) RFOR(i,0,n) #define ALL(x) x.begin(),x.end() #define P pair<ll,ll> #define F first #define S second #define BS(A,x) binary_search(ALL(A),x) #define LB(A,x) (ll)(lower_bound(ALL(A),x)-A.begin()) #define UB(A,x) (ll)(upper_bound(ALL(A),x)-A.begin()) template<typename T>using min_priority_queue=priority_queue<T,vector<T>,greater<T>>; using mint=modint1000000007; bool prime(ll N){if(N<2)return 0;ll d=2;while(d*d<=N){if(N%d==0)return 0;d++;}return 1;} ll hush(ll N){if(N<10)return N;ll res=0;while(N){res+=N%10;N/=10;}return hush(res);} signed main(){ ll K,N,ans,m=0,r=0;cin>>K>>N;vector<P>A;vector<bool>X(10,1); FOR(i,K,N+1)if(prime(i))A.push_back(P(hush(i),i)); REP(i,A.size()){ while(r<A.size()&&X[A[r].F])X[A[r++].F]=0; if(m<=r-i){ans=A[i].S;m=r-i;}X[A[i].F]=1; } cout<<ans<<endl; return 0; }