Submission #1304712

#TimeUsernameProblemLanguageResultExecution timeMemory
1304712kindepGap (APIO16_gap)C++20
Compilation error
0 ms0 KiB
//Reaktor Osemkowo Wodny - Kinga Deptula
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
constexpr long long INF=1e18;

/*
void ZapytajChrisa(long long s, long long t, long long &mn, long long &mx){
    cout << "POMIEDZY: " << s << " " << t << '\n';
    cin >> mn >> mx;
    return;
}
    */

void podzad1(int N, long long &wyn){
    long long t[N+1], mn=INF, mx=0;
    MinMax(0, INF, mn, mx);
    t[1]=mn, t[N]=mx;
    for (int i=2; i<=(N+1)/2; i++){
        mn=INF, mx=0;
        MinMax(t[i-1]+1, t[N-(i-2)]-1, mn, mx);
        t[i]=mn, t[N-(i-1)]=mx;
    }
    for (int i=1; i<N; i++){
        wyn=max(wyn, t[i+1]-t[i]);
    }
    return;
}

void podzad2(int N, long long &wyn){
    long long n=N;
    vector<long long> war;
    long long pier=INF, ost=0, prz;
    MinMax(0, INF, pier, ost);
    war.push_back(pier);
    if (n<=2){
        wyn=ost-pier;
        return;
    }
    prz=(ost-pier)/(n-1);
    for (long long i=pier+1LL; i+prz<=ost; i+=prz+1LL){
        long long a=INF, b=0;
        MinMax(i, i+prz, a, b);
        if ((a!=-1)&&(a!=b))
            war.push_back(a), war.push_back(b);
        else if (a!=-1)
            war.push_back((a));
    }
    war.push_back(ost);
    for (int i=1; i<war.size(); i++)
        wyn=max(wyn, war[i]-war[i-1]);
    return;
}


long long findGap(int T, int N){
    long long wyn=0;
    if (T==1)
        podzad1(N, wyn);
    else
        podzad2(N, wyn);
    return wyn;
}


/*
int main(){
    int T, N; cin >> T >> N;
    cout << ZnajdzSkarpe(T, N);
}
*/

Compilation message (stderr)

gap.cpp: In function 'void podzad1(int, long long int&)':
gap.cpp:17:20: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   17 |     MinMax(0, INF, mn, mx);
      |                    ^~
      |                    |
      |                    long long int
In file included from gap.cpp:3:
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:24: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   17 |     MinMax(0, INF, mn, mx);
      |                        ^~
      |                        |
      |                        long long int
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:21:40: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   21 |         MinMax(t[i-1]+1, t[N-(i-2)]-1, mn, mx);
      |                                        ^~
      |                                        |
      |                                        long long int
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:21:44: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   21 |         MinMax(t[i-1]+1, t[N-(i-2)]-1, mn, mx);
      |                                            ^~
      |                                            |
      |                                            long long int
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: In function 'void podzad2(int, long long int&)':
gap.cpp:34:20: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   34 |     MinMax(0, INF, pier, ost);
      |                    ^~~~
      |                    |
      |                    long long int
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:26: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   34 |     MinMax(0, INF, pier, ost);
      |                          ^~~
      |                          |
      |                          long long int
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:43:26: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   43 |         MinMax(i, i+prz, a, b);
      |                          ^
      |                          |
      |                          long long int
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:43:29: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   43 |         MinMax(i, i+prz, a, b);
      |                             ^
      |                             |
      |                             long long int
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*);
      |                                               ^~~~~~~~~~