Submission #1370207

#TimeUsernameProblemLanguageResultExecution timeMemory
1370207FaresSTHLutrija (COCI19_lutrija)C++20
21 / 70
55 ms432 KiB
#include"bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
bool prime(ll x){
    if(x<2)return 0;
    if(x==2)return 1;
    if(x%2==0)return 0;
    for(ll i=3;i*i<=x;i+=2)if(x%i==0)return 0;
    return 1;
}
int main(){
    cin.tie(0)->sync_with_stdio(0);
    ll a,b;
    cin>>a>>b;
    bool swp=0;
    if(a>b)swap(a,b),swp=1;
    vector<ll>res={a};
    if(a!=2){
        if(prime(a-2))res.push_back(2);
        else{
            bool alp=1;
            for(ll i=a+2;i<=b&&(i-a)/2<=28;i+=2){
                if(prime(i))res.push_back(i);
                else alp=0;
            }
            if(!alp)return cout<<-1,0;
            if(swp)reverse(res.begin(),res.end());
            cout<<res.size()<<'\n';
            for(int i:res)cout<<i<<' ';
            return 0;
        }
    }
    if(prime(b-2))res.push_back(b);
    else if(prime(b+2)){
        res.push_back(b+2);
        res.push_back(b);
    }
    else return cout<<-1,0;
    if(swp)reverse(res.begin(),res.end());
    cout<<res.size()<<'\n';
    for(int i:res)cout<<i<<' ';
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...