제출 #102459

#제출 시각아이디문제언어결과실행 시간메모리
102459Nicholas_PatrickGap (APIO16_gap)C++17
0 / 100
119 ms5892 KiB
#include "gap.h"
#include <set>
using namespace std;

long long findGap(int t, int n){
	set <long long> numbers;
	long long m, M;
	if(t==1){
		m=0;
		M=1000000000000000000;
		while(true){
			if(numbers.size()==n)
				break;
			MinMax(m, M, &m, &M);
			if(m==-1)
				break;
			numbers.insert(m);
			if(m==M)
				break;
			numbers.insert(M);
			m++;M--;
		}
	}else if(t==2){
		for(int i = 0;i < n>>1;i ++){
			m=(long double)i*1e18/(n>>1);
			if(i==(n>>1)-1)
				M=1000000000000000000;
			else
				M=(long double)(i+1)*1e18/(n>>1);
			while(true){
				if(numbers.size()==n)
					break;
				MinMax(m, M, &m, &M);
				if(m==-1)
					break;
				numbers.insert(m);
				if(m==M)
					break;
				numbers.insert(M);
				m++;M--;
			}
		}
	}
	m=1000000000000000000;
	set <long long>::iterator it=numbers.begin();
	M=*it;
	while(++it!=numbers.end()){
		m=max(m, *it-M);
		M=*it;
	}
	return m;
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:12:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(numbers.size()==n)
       ~~~~~~~~~~~~~~^~~
gap.cpp:31:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(numbers.size()==n)
        ~~~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...