Submission #1216336

#TimeUsernameProblemLanguageResultExecution timeMemory
1216336anfiHack (APIO25_hack)C++20
100 / 100
82 ms964 KiB
#include"hack.h" #include <bits/stdc++.h> using namespace std; #define int long long #define fi first #define se second const long long inf = 1e9; int ans(int l, int r){ while(l < r){ int m = (r+l)>>1; int c = sqrt(m-l+1); vector<int> q; for(int i = 1; i <= c; i++) q.push_back(i); for(int i = c+l; i <= m; i += c) q.push_back(i); if(m+1 > c) q.push_back(m+1); if(collisions(q)) r = m; else l = m+1; } vector<int> a,pr; for(int i = 2; i*i <= l; i++){ if(l%i == 0){ a.push_back(i); if(i*i <= l){ if(i*i != l) a.push_back(l/i); } } } sort(a.begin(), a.end()); for(int p : a){ bool cek = 1; for(int d : pr){ if(p%d == 0){ cek = 0; break; } } if(cek) pr.push_back(p); } int invl = -1; while(l != invl){ invl = l; for(auto &p : pr){ if((l/p)*p == l && collisions({1, (l/p)+1})){ l /= p; break; } } } return l; } signed hack(){ return ans(inf/2, inf); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...