Submission #688298

#TimeUsernameProblemLanguageResultExecution timeMemory
688298saayan007Lost in the cycle (IOI19_cycle)C++17
0 / 100
1 ms208 KiB
#include "cycle.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using pi = pair<int, int>; using pl = pair<long long, long long>; using vi = vector<int>; using vl = vector<long long>; using vpi = vector<pair<int, int>>; using vpl = vector<pair<long long, long long>>; #define fur(i, a, b) for(ll i = a; i <= (ll)b; ++i) #define ruf(i, a, b) for(ll i = a; i >= (ll)b; --i) #define fr first #define sc second #define mp make_pair #define pb emplace_back #define nl "\n" #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() void escape(int n) { ll cur = 0; if(jump(1)) { cur += 1; while(jump(1)) { cur += 1; } jump(n - 1); } else { ++cur; while(!jump(1)) { ++cur; } ++cur; cur += n/2 - 1; } return; // ll lo = 0; // ll hi = n - 1; // ll cur = 0; // ll x = 0; // while(lo != hi) { // // wanna check if [lo, mid] is doable // ll mid = (lo + hi) / 2; // // // so need to jump to mid - n/2 // ll y = mid - n/2; // if(y < 0) // y += n; // // // the dist I need to jump by to get to y = mid - n/2 // x = y - cur; // if(x < 0) // x += n; // // cout << cur << ' ' << lo << ' ' << mid << ' ' << hi << ' ' << y << ' ' << x << nl; // // if(jump(x)) { // hi = mid; // } else { // lo = mid + 1; // } // (cur += x) %= n; // } // // ll y = lo; // x = y - cur; // if(x < 0) // x += n; // jump(x); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...