Submission #152571

#TimeUsernameProblemLanguageResultExecution timeMemory
152571Ruxandra985Gap (APIO16_gap)C++14
Compilation error
0 ms0 KiB
#include <cstdio>
#include "gap.h"

long long findGap (int t , int n){
    long long l,r,i;
    long long st,dr,a,b,sol,x,y,mid,last;
    if (t == 1){
        long long w[100010];
        st = 1;
        dr = 1000000000000000000;
        l = 1;
        r = n;
        while (l<=r){
            a=b=0;
            MinMax (st,dr,&a,&b);
            if (l < r){
                w[l] = a;
                w[r] = b;
            }
            else {
                w[l] = a;
            }
            st = a + 1;
            dr = b - 1;
            l++;
            r--;
        }
        sol = 0;
        for (i=2;i<=n;i++){
            if (sol < w[i] - w[i-1])
                sol = w[i] - w[i-1];
        }
        return sol;
    }
    else {
        MinMax (0,1000000000000000000,a,b);
        l = a;
        r = b;
        sol = 0;
        while (l <= b && b - l > sol){ /// daca dif e mai mica , irelevant
            /// as vrea sa trec in urmatorul la o distanta > sol
            MinMax (l , l + sol , &x , &y);
            if (x < y){ /// exista ceva , skip
                l = y;
            }
            else { /// e doar l
                st = sol + 1;
                dr = b - l;
                while (st<=dr){
                    mid = (st + dr)/2;
                    MinMax (l , l + mid , &x , &y);
                    if (y == l){ /// vreau mai mare
                        st = mid + 1;
                    }
                    else {
                        last = y;
                        dr = y - l - 1;
                    }
                }
                sol = last - l;
                l = last;
            }
        }

        return sol;
    }
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:36:42: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
         MinMax (0,1000000000000000000,a,b);
                                          ^
In file included from gap.cpp:2:0:
gap.h:1:6: note:   initializing argument 3 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
 void MinMax(long long, long long, long long*, long long*);
      ^~~~~~
gap.cpp:36:42: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
         MinMax (0,1000000000000000000,a,b);
                                          ^
In file included from gap.cpp:2:0:
gap.h:1:6: note:   initializing argument 4 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
 void MinMax(long long, long long, long long*, long long*);
      ^~~~~~