Submission #1205099

#TimeUsernameProblemLanguageResultExecution timeMemory
1205099hackstarHack (APIO25_hack)C++20
0 / 100
44 ms648 KiB
#include "hack.h"
#include <bits/stdc++.h>

using namespace std;

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(),x.rend()
#define ll long long

// collisions()

int cnst=7000;

int hack(){
        vector<ll>copy(cnst-1);
        iota(all(copy),1);
        ll l=1;
        int r=142857;
        int total=0;
        ll ans=0;
        while(l<=r){
                int m=l+r>>1;
                vector<ll>cur=copy;
                int cru=sqrt(m-l+1);
                for(int i=l;i<=l+cru;i++){
                        cur.emplace_back(i*cnst+l);
                }
                // cout<<total<<'\n';
                total+=cur.size();
                if(collisions(cur)){
                        // ans=m;
                        r=m-1;
                }
                else{
                        ans=m;
                        l=m+1;
                }
        }
        // cout<<ans<<'\n';
        if(!ans){
                int n=1;
                while(n++){
                        total+=2;
                        if(collisions({1,n+1})){
                                return n;
                        }
                }
                return -1;
        }
        // cout<<total<<'\n';
        // cout<<x<<'\n';
	for(int i=max(2ll,cnst*ans);i<cnst*(ans+1);i++){
		if(collisions({1,i+1})){
			return i;
		}
	}
        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...