Submission #361292

#TimeUsernameProblemLanguageResultExecution timeMemory
361292tuank99lhpGap (APIO16_gap)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
long long b[100005];

long long findGap(long long T,long long N)
{
    if (T==1)
    {
        b[0]=-1;
        b[N+1]=1e18;
        ++b[N+1];
        for (int i=1;i<=(N+1)/2;++i) {
                if (i>N/2)
                {
                    long long x,y;
                    MinMax(b[i-1]+1,b[N-i+2]-1,x,y);
                    b[i]=x;
                }
                else MinMax(b[i-1]+1,b[N-i+2]-1,b[i],b[N-i+1]);
        }
        long long kq=0;
        for (int i=2;i<=N;++i) kq=max(kq,b[i]-b[i-1]);
        return kq;
    }
    else
    {
        long long x,y;
        MinMax(0,1e18,x,y);
        long long X=(y-x+N-1)/N;
        long long kq=X;
        b[0]=x;
        for (int i=1;i<=N;++i)
        {
            if (x+X*(i-1)+1>y) break;
            long long h,k;
            MinMax(x+X*(i-1)+1,min(y,x+X*i),h,k);
            if (k==-1) b[i]=b[i-1];else b[i]=k;
            kq=max(kq,h-b[i-1]);
        }
        return kq;
    }
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(long long int, long long int)':
gap.cpp:17:48: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   17 |                     MinMax(b[i-1]+1,b[N-i+2]-1,x,y);
      |                                                ^
      |                                                |
      |                                                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:17:50: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   17 |                     MinMax(b[i-1]+1,b[N-i+2]-1,x,y);
      |                                                  ^
      |                                                  |
      |                                                  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*);
      |                                               ^~~~~~~~~~
gap.cpp:20:52: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   20 |                 else MinMax(b[i-1]+1,b[N-i+2]-1,b[i],b[N-i+1]);
      |                                                 ~~~^
      |                                                    |
      |                                                    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:20:61: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   20 |                 else MinMax(b[i-1]+1,b[N-i+2]-1,b[i],b[N-i+1]);
      |                                                      ~~~~~~~^
      |                                                             |
      |                                                             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*);
      |                                               ^~~~~~~~~~
gap.cpp:29:23: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   29 |         MinMax(0,1e18,x,y);
      |                       ^
      |                       |
      |                       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:29:25: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   29 |         MinMax(0,1e18,x,y);
      |                         ^
      |                         |
      |                         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*);
      |                                               ^~~~~~~~~~
gap.cpp:37:45: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   37 |             MinMax(x+X*(i-1)+1,min(y,x+X*i),h,k);
      |                                             ^
      |                                             |
      |                                             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:37:47: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   37 |             MinMax(x+X*(i-1)+1,min(y,x+X*i),h,k);
      |                                               ^
      |                                               |
      |                                               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*);
      |                                               ^~~~~~~~~~