Submission #1246147

#TimeUsernameProblemLanguageResultExecution timeMemory
1246147KALARRYHack (APIO25_hack)C++20
0 / 100
7 ms1208 KiB
//chockolateman #include<bits/stdc++.h> #include <vector> #include "hack.h" using namespace std; const long long S = 31623; vector<long long> nums; map<long long,bool> done; map<long long,long long> memo; long long query_pair(long long x) { if(done[x]) return memo[x]; done[x] = true; vector<long long> temp; temp.push_back(1); temp.push_back(1+x); memo[x] = collisions(temp); return memo[x]; } long long query(long long l,long long r) { vector<long long> temp; for(long long i = l ; i <= r ; i++) temp.push_back(nums[i]); long long res = collisions(temp); return res; } long long counter = 0; int hack(){ counter++; done.clear(); memo.clear(); if(nums.empty()) { nums.push_back(0); //make it 1-indexed for(long long i = 1 ; i < S ; i++) nums.push_back(nums.back() + 1); for(long long i = 1 ; i <= S ; i++) nums.push_back(nums.back() + S); } random_shuffle(nums.begin(),nums.end()); long long l = 1; long long r = nums.size() - 1; while(l < r) { long long mid = (l+r+1)/2; if(query(1,mid)) r = mid-1; else l = mid; } r++; int n; for(l = r-1 ; l >= 0 ; l--) if(query_pair(abs(nums[r] - nums[l]))) { n = abs(nums[r] - nums[l]); break; } return n; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...