이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
long long findGap(int T, int n){
ll lo = 0, hi = 1'000'000'000'000'000'000LL;
if (T == 1){
int cnt = 0;
vector<ll> a;
while (hi > lo){
ll mn, mx;
cnt ++;
if (cnt > (n+1)/2)
break;
MinMax(lo, hi, &mn, &mx);
if (mn == -1)
break;
a.push_back(mn);
a.push_back(mx);
lo = mn + 1, hi = mx - 1;
}
sort(a.begin(), a.end());
ll answer = 0;
for (int i = 1; i < a.size(); i++)
answer = max(answer, a[i]-a[i-1]);
return answer;
}
ll mn, mx;
MinMax(lo, hi, &mn, &mx);
ll t = (mx-mn+n-2) / (n-1);
vector<ll> a;
lo = mn, hi = mx;
for (ll i = lo; i <= hi; i += t+1){
MinMax(i, i+t, &mn, &mx);
if (mn == -1)
continue;
a.push_back(mn);
a.push_back(mx);
}
ll answer = 0;
for (int i = 1; i < a.size(); i++)
answer = max(answer, a[i]-a[i-1]);
return answer;
}
컴파일 시 표준 에러 (stderr) 메시지
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:27:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 1; i < a.size(); i++)
~~^~~~~~~~~~
gap.cpp:44:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 1; i < a.size(); i++)
~~^~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |