이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
bool isp(ll k){
if(k == 0)return false;
if(k == 1)return false;
for(ll i = 2;i*i<=k;i++){
if(k%i == 0)return false;
}
return true;
}
map<ll,ll> mp;
int main(){
ll a,b;
cin>>a>>b;
vector<ll> ans;
bool rev = false;
if(a>b){
rev = true;
swap(a,b);
}
ans.push_back(a);
if(a == 2){
if(isp(b+2)&&isp(b+2-a))ans = {2,b+2,b};
else if(isp(b-2)&&isp(b-2-a))ans = {2,b-2,b};
else{
cout<<-1;
return 0;
}
}
else{
ans.clear();
for(ll i = a;i<=b&&isp(i);i+=2){
ans.push_back(i);
}
if(ans.back() != b){
ans.clear();
}
if(ans.empty()){
if(isp(a-2)&&isp(b-2))ans = {a,2,b};
}
}
if(ans.empty()||ans.back() != b){
cout<<-1;
return 0;
}
if(rev)reverse(ans.begin(),ans.end());
cout<<ans.size()<<'\n';
for(auto &i:ans)cout<<i<<' ';
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... |