제출 #206192

#제출 시각아이디문제언어결과실행 시간메모리
206192mraronGap (APIO16_gap)C++14
30 / 100
117 ms11704 KiB
#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
set<ll> res;
int n;
void solve2(ll L, ll R) {
	if(res.size()==n||L>R) return ;
	ll a,b;
	MinMax(L,R,&a,&b);
	if(a==-1) return ;
	res.insert(a);
	res.insert(b);
	solve2(a+1,(a/b)/2);
	solve2((a/b)/2+1, b-1);
}	

void solve1(ll L, ll R) {
	if(res.size()==n||L>R) return ;
	ll a,b;
	MinMax(L,R,&a,&b);
	if(a==-1) return ;
	res.insert(a);
	res.insert(b);
	solve1(a+1,b-1);
}	

long long findGap(int T, int N)
{
	n=N;
	if(T==2) {
		solve2(0, 1000000000000000000LL);
	}else {
		solve1(0, 1000000000000000000LL);
	}
	vector<ll> ans;
	for(auto i:res) ans.push_back(i);
	ll val=0;
	for(int i=1;i<ans.size();++i) val=max(val, ans[i]-ans[i-1]);
	return val;
	
}

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

gap.cpp: In function 'void solve2(ll, ll)':
gap.cpp:8:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(res.size()==n||L>R) return ;
     ~~~~~~~~~~^~~
gap.cpp: In function 'void solve1(ll, ll)':
gap.cpp:19:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(res.size()==n||L>R) return ;
     ~~~~~~~~~~^~~
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:39:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=1;i<ans.size();++i) val=max(val, ans[i]-ans[i-1]);
              ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...