제출 #978196

#제출 시각아이디문제언어결과실행 시간메모리
978196AmaarsaaGap (APIO16_gap)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include "gap.h" using namespace std; using ll =long long; ll Sub1(ll N) { ll b[N + 2],ans, lo1, hi1, lo, hi, l, r; l = 1; r = N; lo = 0; hi = LONG_MAX; while ( l <= r) { MinMax(lo, hi, &lo1, &hi1); if (lo1 == -1) break; b[l] = lo1; b[r] = hi1; lo = lo1 + 1; hi = hi1 - 1; l ++; r --; } ans = 0; for (int i = 2; i <= N; i ++) { ans =max(ans, b[i] - b[i - 1]); } return ans; } ll Sub2(ll N) { ll l, r, x, y, ans, n = N, s, i; MinMax(0, 1e18, &l, &r); s = (r - l - 1)/(n - 1); ans = s; for ( i = l; i + s< r; i += (s + 1)) { MinMax(i, i + s, &x, &y); if ( x != -1) { ans =max(ans, x - l); l = y; } } MinMax(i, r, x, y); if ( x != -1) ans = max(ans, x- l); return ans; } long long findGap(int T, int N) { if ( T == 1) { return Sub1(N); } else return Sub2(N); }

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

gap.cpp: In function 'll Sub2(ll)':
gap.cpp:40:15: error: invalid conversion from 'll' {aka 'long long int'} to 'long long int*' [-fpermissive]
   40 |  MinMax(i, r, x, y);
      |               ^
      |               |
      |               ll {aka long long int}
In file included from gap.cpp:2:
gap.h:1:35: note:   initializing argument 3 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                   ^~~~~~~~~~
gap.cpp:40:18: error: invalid conversion from 'll' {aka 'long long int'} to 'long long int*' [-fpermissive]
   40 |  MinMax(i, r, x, y);
      |                  ^
      |                  |
      |                  ll {aka long long int}
In file included from gap.cpp:2:
gap.h:1:47: note:   initializing argument 4 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                               ^~~~~~~~~~