Submission #198100

#TimeUsernameProblemLanguageResultExecution timeMemory
198100ZwariowanyMarcinLutrija (COCI19_lutrija)C++14
70 / 70
238 ms476 KiB
#include <bits/stdc++.h> #define fi first #define se second #define mp make_pair #define ss(x) (int) x.size() #define pb push_back #define LL long long #define ld double #define cat(x) cerr << #x << " = " << x << endl #define FOR(i, j, n) for(int i = j; i <= n; ++i) #define boost cin.tie(0), ios_base::sync_with_stdio(0); using namespace std; LL x, y; int z; vector <LL> ans; bool prime(LL n) { if (n <= 1) return 0; for (int i = 2; (LL) i * i <= n; ++i) if (n % i == 0) return 0; return 1; } int main() { scanf ("%lld %lld", &x, &y); if (x > y) { z = 1; swap(x, y); } if ((x & 1) && (y & 1)) { bool ok = 1; for (int i = x; i <= y; i += 2) { ans.pb(i); if (!prime(i) || ss(ans) > 30) { ok = 0; break; } } if (ok) { printf ("%d\n", ss(ans)); if (z) reverse(ans.begin(), ans.end()); for (auto it : ans) printf ("%lld ", it); exit(0); } ans.clear(); } bool ok1 = 0; bool ok2 = 0; ans.pb(x); if (x == 2) ok1 = 1; if (!ok1) { if (prime(x - 2)) { ok1 = 1; ans.pb(2); } if (!ok1) { if (prime(x + 2)) { ok1 = 1; ans.pb(x + 2); ans.pb(2); } } } if (prime(y - 2)) { ok2 = 1; ans.pb(y); } if (!ok2 && prime(y + 2)) { ok2 = 1; ans.pb(y + 2); ans.pb(y); } if (ok1 && ok2) { if (z) reverse(ans.begin(), ans.end()); printf ("%d\n", ss(ans)); for (auto it : ans) printf ("%lld ", it); exit(0); } printf ("-1\n"); return 0; }

Compilation message (stderr)

lutrija.cpp: In function 'int main()':
lutrija.cpp:28:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf ("%lld %lld", &x, &y);
  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
#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...