제출 #42645

#제출 시각아이디문제언어결과실행 시간메모리
42645MatheusLealVGap (APIO16_gap)C++14
46.81 / 100
82 ms2660 KiB
#include <bits/stdc++.h> #include "gap.h" #define N 100005 #define inf 1000000000000000000LL using namespace std; typedef long long ll; ll n, v[N], ans[N]; vector<ll> val; void solve(ll ini, ll fim) { if(fim < ini) return; if(ini == fim) { val.push_back(ini); return; } ll mid = (ini + fim)/2; ll a, b; MinMax(mid + 1, fim, &a, &b); if(a != -1 && b != -1) { val.push_back(a); if(a != b) val.push_back(b); solve(a + 1, b - 1); } MinMax(ini, mid, &a, &b); if(a != -1 && b != -1) { val.push_back(a); if(a != b) val.push_back(b); solve(a + 1, b - 1); } } ll findGap(int T, int N_) { ll best = 0; if(T == 1) { n = N_; ll esq = 0, dir = inf; for(int i = 1, st = 1, en = n; i <= (n + 1)/2; i++, st ++, en --) { ll a, b; MinMax(esq, dir, &a, &b); esq = a + 1, dir = b - 1; if(a != -1 && b != -1) ans[st] = a, ans[en] = b; } for(int i = 2; i <= n; i++) best = max(best, ans[i] - ans[i - 1]); return best; } else { solve(0, inf); sort(val.begin(), val.end()); for(int i = 1; i < val.size(); i++) best = max(best, val[i] - val[i - 1]); return best; } }

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

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:82:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 1; i < val.size(); i++) best = max(best, val[i] - val[i - 1]);
                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...