제출 #775551

#제출 시각아이디문제언어결과실행 시간메모리
775551OrazBGap (APIO16_gap)C++14
0 / 100
18 ms1104 KiB
#include <bits/stdc++.h> #include "gap.h" #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <functional> using namespace __gnu_pbds; using namespace std; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; //Dijkstra->set //set.find_by_order(x) x-position value //set.order_of_key(x) number of strictly less elements don't need *set.?? #define N 100005 #define wr cout << "Continue debugging\n"; #define all(x) (x).begin(), (x).end() #define ll long long int #define pii pair <int, int> #define pb push_back #define ff first #define ss second const ll inf = 1e18; ll a[N]; vector<ll> vec; // void rec(ll l, ll r){ // if (l > r) return; // ll mn, mx; // MinMax(l, r, &mn, &mx); // if (mn == -1) return; // vec.pb(mn); // if (mn != mx) // vec.pb(mx); // ll md = (mx+mn)/2; // rec(mn+1, md); // rec(md+1, mx-1); // } ll findGap(int t, int n) { // if (t == 1){ // int l = 1, r = n; // ll mn = 0, mx = 1e18, ans = 0; // while(l <= r){ // ll s = mn, t = mx; // MinMax(s, t, &mn, &mx); // a[l] = mn; // a[r] = mx; // if (l > 1) ans = max(ans, a[l]-a[l-1]); // if (r < n) ans = max(ans, a[r+1]-a[r]); // l++; // r--; // mn++; // mx--; // } // if (n == 2) return a[2]-a[1]; // return ans; // } ll ans = 0; ll mn, mx; MinMax(0, inf, &mn, &mx); ll l = mn, r = mx; while (l < r){ ll md = (l+r)/2; if (l > md) l = md+1; else if (md+1 > r) r = md; else{ ll mn, mx, mn1, mx1, x = -inf, y = -inf; MinMax(l, md, &mn, &mx); mn1 = mn; mx1 = mx; MinMax(md+1, r, &mn, &mx); if (mn1 == -1) l = md + 1; else if (mn == -1) r = md; else{ ans = max(ans, mn-mx1); if (mx1-mn1 > mx-mn) r = md; else l = md + 1; } } } // rec(0, inf); // sort(all(vec)); // for (int i = 1; i < (int)vec.size(); i++) ans = max(ans, vec[i]-vec[i-1]); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:69:25: warning: unused variable 'x' [-Wunused-variable]
   69 |    ll mn, mx, mn1, mx1, x = -inf, y = -inf;
      |                         ^
gap.cpp:69:35: warning: unused variable 'y' [-Wunused-variable]
   69 |    ll mn, mx, mn1, mx1, x = -inf, y = -inf;
      |                                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...