제출 #1291078

#제출 시각아이디문제언어결과실행 시간메모리
1291078LolkasMeepHack (APIO25_hack)C++20
8 / 100
373 ms20772 KiB
#include "hack.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; bool didInit = false; const ll MAX = 1000000; const ll X = 800000; ll countt[MAX + 8] = {0}; // ll zero = 1; vector<ll> query(X); void init(){ // for(ll n = 2; n <= MAX; n+=2){ // zero = lcm(zero, n); // } for(ll n = 2; n <= MAX; n+=2){ ll h = X/(n/2); ll c = n*h*(h-1)/4 + (h)*(X%(n/2)); countt[n] = c; } for(ll n = 3; n <= MAX; n+=2){ ll h = X/n; ll c = n*h*(h-1)/2 + (h)*(X%(n)); countt[n] = c; } for(ll i = 0; i < X; i++){ query[i] = i*2+2; } didInit = true; // cout << "zero: " << zero << '\n'; } int hack(){ if(!didInit) init(); // for(ll i = 0; i < X; i++) query[i] = i*2+2; ll c = collisions(query); ll ans1 = -1; ll ans2 = -1; // cout << "c: " << c << '\n'; for(ll i = 2; i <= MAX; i++){ if(countt[i] == c){ // cout << "ping: " << i << ' ' << c << '\n'; if(ans1 == -1) ans1 = i; else ans2 = i; } } if(collisions({ans1, ans1*2}) > 0) return ans1; else return ans2; return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...