제출 #1213645

#제출 시각아이디문제언어결과실행 시간메모리
1213645avighnaHack (APIO25_hack)C++20
0 / 100
3 ms956 KiB
#include <bits/stdc++.h> long long collisions(std::vector<long long> x); int hack() { int l = 5e8, r = 1e9; while (l < r) { int m = std::midpoint(l, r); int b = std::sqrt(m - l + 1); std::vector<long long> q; for (int i = 1; i <= b; ++i) { q.push_back(i); } for (int i = l + b; i <= m; i += b) { q.push_back(i); } if (m + 1 > b) { q.push_back(m + 1); } if (collisions(q)) { r = m; } else { l = m + 1; } } std::vector<int> div; for (int i = 1; i * i <= l; ++i) { if (l % i == 0) { div.push_back(i); if (i * i != l) { div.push_back(l / i); } } } std::vector<int> primes; for (int i = 0; i < div.size(); ++i) { bool prime = true; for (auto &p : primes) { if (div[i] % p == 0) { prime = false; } } if (prime) { primes.push_back(div[i]); } } for (int prev_l = -1; l != prev_l;) { for (auto &p : primes) { if ((l / p) * p == l and collisions({1, l / p + 1})) { prev_l = l; l /= p; } } } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...