Submission #1367559

#TimeUsernameProblemLanguageResultExecution timeMemory
1367559waygonzHack (APIO25_hack)C++20
0 / 100
27 ms2496 KiB
#include "hack.h"
#include <bits/stdc++.h>
#define ll long long

using namespace std;

int hack() {
    ll l = (ll)5e8, r = (ll)1e9;
    while (l < r) {
        ll mid = (l + r + 1) / 2;
        ll N = mid - l + 1;
        ll x = (int)sqrt(N);
        set<ll> A;
        for (int i = 1; i <= x; i++) A.emplace(i);
        for (int i = l; i <= mid; i += x) A.emplace(i);
        A.emplace(mid);
        vector<ll> Q;
        for (auto &e : A) Q.emplace_back(e);
        if (collisions(Q)) r = mid - 1;
        else l = mid;
    }
    vector<ll> p;
    ll t = l;
    for (ll i = 2; i * i <= t; i++) {
        if (t % i == 0) p.emplace_back(i);
        while (t % i == 0) t /= i;
    }
    if (t > 1) p.emplace_back(t);
    for (auto &e : p) {
        while (l % e == 0) {
            vector<ll> Q = {1, l / e + 1};
            if (collisions(Q)) l /= e;
            else break;
        }
    }
    return l;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...