제출 #96005

#제출 시각아이디문제언어결과실행 시간메모리
96005oolimryGap (APIO16_gap)C++14
100 / 100
99 ms4460 KiB
#include <bits/stdc++.h> #include "gap.h" using namespace std; long long findGap(int T, int N) { if(T == 1){ long long arr[N]; int x = 0; long long a, b; a = 0; b = 1000000000000000005; long long mn, mx; while(true){ MinMax(a,b,&mn,&mx); arr[x] = mn; arr[N-x-1] = mx; a = mn + 1; b = mx - 1; x++; if ((x >= (N+1)/2)) break; } long long mm = 0; for(int i = 0;i < N-1;i++){ mm = std::max(mm,arr[i+1]-arr[i]); } return mm; } else{ long long a, b; a = 0; b = 1000000000000000005; long long mn, mx; MinMax(a,b,&mn,&mx); std::vector<long long> v; v.push_back(mn); v.push_back(mx); long long dist = mx - mn - 2; long long small = dist / (N-1); long long big = small+1; a = mn + 1; for(int i = 0;i < N-1;i++){ if(i < dist % (N-1)) b = a + big; else b = a + small; MinMax(a,b-1,&mn,&mx); //printf("%lld %lld\n",a,b-1); if(mn != -1){ v.push_back(mn); v.push_back(mx); } a = b; } long long mm = 0; sort(v.begin(),v.end()); for(int i = 0;i < v.size()-1;i++){ mm = std::max(mm,v[i+1]-v[i]); } return mm; } }

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:54:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0;i < v.size()-1;i++){
                       ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...