제출 #467659

#제출 시각아이디문제언어결과실행 시간메모리
467659SirCovidThe19thGap (APIO16_gap)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std; 

#define ll long long

ll findGap(int t, int n){
    ll mn = 1, mx = 1e18, A[n], lim, lb, ans = 0; 
    if (t == 1){
        for (ll i = 0, j = n - 1; i <= j; i++, j--){
            MinMax(mn, mx, &mn, &mx);
            A[i] = mn; A[j] = mx;
            mn++; mx--;
        }
        for (ll i = 1; i < n; i++)
            ans = max(ans, A[i] - A[i - 1]);
    }
    else{
        MinMax(mn, mx, &mn, &mx); 
        lb = (mx - mn) / (n - 1); lim = mx;
        cout<<lb<<endl;
        for (ll l = mn, r = mn + lb - 1, prvMx = 1e18; l <= lim; l += lb, r += lb){
            MinMax(l, r, mn, mx);
            ans = max(ans, mn - prvMx);
            if (~mx) prvMx = mx; 
        }
    }
    return ans;
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:23:26: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   23 |             MinMax(l, r, mn, mx);
      |                          ^~
      |                          |
      |                          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:23:30: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   23 |             MinMax(l, r, mn, mx);
      |                              ^~
      |                              |
      |                              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*);
      |                                               ^~~~~~~~~~