Submission #1012146

# Submission time Handle Problem Language Result Execution time Memory
1012146 2024-07-01T18:04:04 Z codefox Gap (APIO16_gap) C++14
Compilation error
0 ms 0 KB
#include "gap.h"

#define ll long long

long long findGap(int T, int N)
{
    if (T==1)
    {
        ll l = 0;
        ll r = 1e18;
        ll mxdist = 0;
        ll nl = 0;
        ll nr = 0;
        ll fl = -1;
        ll fr = -1;
        for (int j = 0; j < N && l<=r; j+=2)
        {
            MinMax(l, r, &nl, &nr);
            if (nr==-1) break;
            if (fl != -1 && nl-fl>mxdist) mxdist = nl-fl;
            if (fr != -1 && fr-nr>mxdist) mxdist = fr-nr;
            fl = nl;
            fr = nr;
            l = nl+1;
            r = nr-1;
        }
        if (fr-fl>mxdist) mxdist = fr-fl;
        return mxdist;
    }
    else
    {
        ll l = 0;
        ll rr = 0;
        MinMax(0, 1e18, l, rr);
        ll dd = 1;
        while (l != rr)
        {
            ll sl = -1;
            ll sr = -1
            while (sr==-1)
            {
                MinMax(l+dd, l+2*dd, &sl, &sr);
                dd*=2;
            }
            if (sl-l>dd) dd = sl-l;
            l = sr;
        }
        return dd;
    }
}

Compilation message

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:34:25: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   34 |         MinMax(0, 1e18, l, rr);
      |                         ^
      |                         |
      |                         long long int
In file included from gap.cpp:1:
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:34:28: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   34 |         MinMax(0, 1e18, l, rr);
      |                            ^~
      |                            |
      |                            long long int
In file included from gap.cpp:1:
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*);
      |                                               ^~~~~~~~~~
gap.cpp:40:13: error: expected ',' or ';' before 'while'
   40 |             while (sr==-1)
      |             ^~~~~