제출 #775493

#제출 시각아이디문제언어결과실행 시간메모리
775493OrazBGap (APIO16_gap)C++17
30 / 100
34 ms1852 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]; 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 mn, mx; // MinMax(0, 1e18, mn, mx); // a[1] = mn; // a[2] = mx; ll l = 0, r = inf, ans = 0; while (l < r){ ll md = (l+r)/2; ll mn, mx, x = -inf, y = -inf, mn1, mx1; MinMax(l, md, &mn, &mx); mn1 = mn; mx1 = mx; if (mn != -1) x = mx-mn+1; MinMax(md+1, r, &mn, &mx); if (mn != -1) y = mx-mn+1; if (mx1 != -1 and mn != -1) ans = max(ans, mn-mx1); if (x > y) r = md; else l = md + 1; } return ans; } // int main () // { // ios::sync_with_stdio(false); // cin.tie(0); // cin >> t; // while (t--){ // } // }

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:53:34: warning: variable 'mn1' set but not used [-Wunused-but-set-variable]
   53 |   ll mn, mx, x = -inf, y = -inf, mn1, mx1;
      |                                  ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...