Submission #491261

#TimeUsernameProblemLanguageResultExecution timeMemory
491261NimbostratusLutrija (COCI19_lutrija)C++17
70 / 70
149 ms312 KiB
#include "bits/stdc++.h" #define endl '\n' #define int long long const int maxn = 2e5 + 5; const int inf = 2e9; const int mod = 1e9 + 7; using namespace std; using lint = long long; using pii = pair<int,int>; lint a, b; bool rev; vector<lint> ans; bool prime(lint x) { if(x <= 1) return false; for(lint i = 2; i * i <= x; i++) if(x % i == 0) return false; return true; } signed main() { #ifdef Local freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> a >> b; if(a > b) { swap(a, b); rev = true; } label:; ans.push_back(a); if(prime(b - a)) ans.push_back(b); else if(a == 2) { if(prime(b + 2)) { ans.push_back(b + 2); ans.push_back(b); } else { cout << -1 << endl; return 0; } } else { if(prime(a - 2)) a = 2; else if(prime(a + 2)) { ans.push_back(a + 2); a = 2; } else { cout << -1 << endl; return 0; } goto label; } if(rev) reverse(ans.begin(), ans.end()); cout << ans.size() << endl; for(int x : ans) cout << x << " "; }
#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...