Submission #1204859

#TimeUsernameProblemLanguageResultExecution timeMemory
1204859windowwifeHack (APIO25_hack)C++20
100 / 100
80 ms964 KiB
#ifndef rtgsp #include "hack.h" #endif // rtgsp #include<bits/stdc++.h> #define ll long long #define task "" using namespace std; const int maxn = 1e6 + 4; int t, n, x, op = 0; vector<ll> v; map<int, int> mp; #ifdef rtgsp ll collisions (vector<ll> x) { op += x.size(); ll res = 0; mp.clear(); for (ll i : x) res += mp[i % n]++; return res; } #endif // rtgsp int hack () { int l = 5e8 + 1, r = 1e9, m = 0; op = 0; while (l < r) { m = (l + r)/2; x = sqrt(m - l + 1); v.clear(); for (int i = 1; i <= x; i++) v.push_back(i); for (int i = l + x; i <= m + x; i += x) v.push_back(min(i, m + 1)); if (collisions(v)) r = m; else l = m + 1; } m = sqrt(r); for (int i = 2; i <= m; i++) { if (r % i == 0) { while (r % i == 0) r /= i; while (l % i == 0 && collisions({1, l/i + 1})) l /= i; } } if (r > 1 && l % r == 0 && collisions({1, l/r + 1})) l /= r; return l; } #ifdef rtgsp int main () { //freopen(task".INP", "r", stdin); //freopen(task".OUT", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); cin >> t; while (t--) { cin >> n; cout << hack() << " " << op << endl; } } #endif // rtgsp
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...