Submission #1268679

#TimeUsernameProblemLanguageResultExecution timeMemory
1268679SmuggingSpunLutrija (COCI19_lutrija)C++20
70 / 70
51 ms328 KiB
#include<bits/stdc++.h> #define taskname "B" using namespace std; typedef long long ll; bool is_prime(ll n){ if(n == 2 || n == 3){ return true; } if(n < 2 || (~n & 1LL) || n % 3 == 0){ return false; } for(ll k = 5; k * k <= n; k += 6){ if(n % k == 0 || n % (k + 2) == 0){ return false; } } return true; } bitset<20>vis; vector<int>path; vector<ll>pr(1, 2); ll a, b; void dfs(int s){ vis[s] = true; path.emplace_back(s); if(pr[s] == b){ cout << path.size() << "\n"; for(int& x : path){ cout << pr[x] << " "; } exit(0); } for(int i = 0; i < pr.size(); i++){ if(!vis[i] && is_prime(abs(pr[i] - pr[s]))){ dfs(i); } } path.pop_back(); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(taskname".inp", "r")){ freopen(taskname".inp", "r", stdin); } cin >> a >> b; for(int i = -2; i < 3; i++){ if(is_prime(a + i)){ pr.emplace_back(a + i); } if(is_prime(b + i)){ pr.emplace_back(b + i); } } sort(pr.begin(), pr.end()); pr.resize(unique(pr.begin(), pr.end()) - pr.begin()); vis.reset(); for(int i = 0; i < pr.size(); i++){ if(pr[i] == a){ dfs(i); } } cout << -1; }

Compilation message (stderr)

lutrija.cpp: In function 'int main()':
lutrija.cpp:43:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |                 freopen(taskname".inp", "r", stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...