이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "gap.h"
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long lld;
long long maximo(lld a, lld b){
if(a<b)return b;
return a;
}
long long minimo(lld a, lld b){
if(a<b)return a;
return b;
}
long long findGap(int T, int N)
{
if(T==1){
vector<lld> numeros;
lld a,b;
a=0;
b=1000000000000000000;
while(a!=-1 && numeros.size()<N){//cout<<a<<" "<<b<<endl;
lld A,B;
MinMax(a,b,&A,&B);
a=A;
b=B;
if(a!=-1){
numeros.push_back(a);
numeros.push_back(b);
a++;b--;
}
}
sort(numeros.begin(),numeros.end());
lld max=0;
for(int i=0;i<numeros.size()-1;i++){
max=maximo(max,numeros[i]-numeros[i-1]);
}
return max;
}
lld min,max;
MinMax(0,1000000000000000000,&min,&max);
lld Maxlength=(max-min-1)/N;
Maxlength++;
vector<lld> candidates;
candidates.push_back(min);
for(lld i=min+1;i<max;i+=Maxlength){
lld s=i;
lld t=minimo(i+Maxlength-1,max);
lld c1,c2;
MinMax(s,t,&c1,&c2);
if(c1!=-1){
candidates.push_back(c1);
candidates.push_back(c2);
}
}candidates.push_back(max);
for(int i=0;i<candidates.size()-1;i++){
Maxlength=maximo(Maxlength,candidates[i+1]-candidates[i]);
}
return Maxlength;
}
컴파일 시 표준 에러 (stderr) 메시지
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:22:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(a!=-1 && numeros.size()<N){//cout<<a<<" "<<b<<endl;
~~~~~~~~~~~~~~^~
gap.cpp:35:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<numeros.size()-1;i++){
~^~~~~~~~~~~~~~~~~
gap.cpp:56:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<candidates.size()-1;i++){
~^~~~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |