Submission #250651

#TimeUsernameProblemLanguageResultExecution timeMemory
250651REALITYNBLutrija (COCI19_lutrija)C++14
70 / 70
345 ms376 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...