제출 #946689

#제출 시각아이디문제언어결과실행 시간메모리
946689Ice_manGap (APIO16_gap)C++14
30 / 100
35 ms4244 KiB
#include <iostream> #include <chrono> #include <vector> #include <algorithm> #include "gap.h" #define maxn 200005 #define maxlog 20 #define INF 1000000010 #define LINF 1000000000000000005 #define endl '\n' #define pb(x) push_back(x) #define X first #define Y second #define control cout<<"passed"<<endl; #pragma GCC optimize("O3" , "Ofast" , "unroll-loops" , "fast-math") #pragma GCC target("avx2") using namespace std; std::chrono::high_resolution_clock::time_point startT, currT; constexpr double TIME_MULT = 1; double timePassed() { using namespace std::chrono; currT = high_resolution_clock::now(); double time = duration_cast<duration<double>>(currT - startT).count(); return time * TIME_MULT; } vector <long long> nums; /**void MinMax(long long l , long long r , long long &mn , long long &mx) { cout << l << " " << r << endl; int a , b; cin >> a >> b; mn = a; mx = b; }*/ long long findGap(int t , int n) { long long l = 1; long long r = LINF; int q = ((n + 1) / 2); while(q--) { long long mn , mx; MinMax(l , r , &mn , &mx); nums.pb(mn); nums.pb(mx); l = mn + 1; r = mx - 1; } sort(nums.begin() , nums.end()); reverse(nums.begin() , nums.end()); /**for(int e : nums) cout << e << " "; cout << endl;*/ long long ans = 0; for(int i = 1; i < (int)(nums.size()); i++) ans = max(ans , abs(nums[i] - nums[i - 1])); return ans; } /**int main() { int t , n; cin >> t >> n; cout << findGap(t , n) << endl;; return 0; }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...