제출 #102465

#제출 시각아이디문제언어결과실행 시간메모리
102465Nicholas_PatrickGap (APIO16_gap)C++17
30 / 100
116 ms6008 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; if(m>M) 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)-1; while(true){ if(numbers.size()==n) break; if(m>M) break; MinMax(m, M, &m, &M); if(m==-1) break; numbers.insert(m); if(m==M) break; numbers.insert(M); m++;M--; } } } m=0; 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:33: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...