This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define int long long
bool check(int i){
if(i-1==0){
return 0 ;
}
bool prime= 1 ;
for(int j=2;j*j<=i;j++){
if(i%j==0){
prime = 0;
}
}
return prime ;
}
using namespace std;
signed main(){
int a , b ;
cin>>a>>b ;
if(abs(b-a)==2){
cout << 2 << endl << a << " "<< b ;
return 0 ;
}
if(a>2&&b>2){
if(check(a-2)){
if(check(b-2)){
cout << 3 << endl ;
cout << a << " " << 2 << " " << b ;
return 0 ;
}
if(check(b+2)){
cout << 4 << endl ;
cout << a << " " << 2 << " " << b+2 << " " << b ;
return 0 ;
}
}
if(check(a+2)){
if(check(b-2)){
cout << 4 << endl ;
cout << a << " " << a+2 << " " << 2 << " " << b ;
return 0 ;
}
if(check(b+2)){
cout << 5 << endl ;
cout << a << " " << a+2 << " " << 2 << " " << b+2 << " " << b ;
return 0 ;
}
}
int flg = 0 ;
if(a>b){
swap(a,b) ;
flg = 1 ;
}
vector<int> ans ;
ans.push_back(a) ;
while(a!=b){
if((int)(ans.size())>30){
cout << -1 ;
return 0 ;
}
a+=2 ;
ans.push_back(a) ;
if(check(a)==0){
cout << -1 ;
return 0 ;
}
}
if((int)(ans.size())>30){
cout << -1 ;
return 0 ;
}
if(flg) reverse(ans.begin(),ans.end()) ;
cout << ans.size() << endl ;
for(int& x :ans) cout << x << (x!=ans.back()?" ":"") ;
return 0 ;
}
if(check(abs(a-b))){
cout << 2 << endl ;
cout << a << " " << b ;
return 0 ;
}
if(check(max(a,b)+2)){
cout << 3 << endl ;
cout << a << " " << max(a,b)+2 << " " << b ;
return 0 ;
}
cout << -1 ;
return 0 ;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |