Submission #1092459

#TimeUsernameProblemLanguageResultExecution timeMemory
1092459alexander707070Gap (APIO16_gap)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "gap.h" #define MAXN 600007 using namespace std; struct interval{ long long from,to; inline friend bool operator < (interval fr,interval sc){ return fr.to-fr.from<sc.to-sc.from; } }; priority_queue<interval> q; pair<long long,long long> check(long long l,long long r){ if(l+1==r)return {-1,-1}; long long ll,rr; MinMax(l+1,r-1, ll,rr); return {ll,rr}; } const long long inf=1e18; long long l,r; long long findGap(int T, int N){ MinMax(1, inf, l,r); q.push({l,r}); while(true){ pair<long long,long long> s=check(q.top().from,q.top().to); if(s.first==-1)return q.top().to-q.top().from; pair<long long,long long> z=q.top(); q.pop(); q.push({z.first,s.first}); if(s.first!=s.second)q.push(s); q.push({s.second,z.second}); } return 0; }

Compilation message (stderr)

gap.cpp: In function 'std::pair<long long int, long long int> check(long long int, long long int)':
gap.cpp:22:21: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   22 |     MinMax(l+1,r-1, ll,rr);
      |                     ^~
      |                     |
      |                     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:22:24: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   22 |     MinMax(l+1,r-1, ll,rr);
      |                        ^~
      |                        |
      |                        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: In function 'long long int findGap(int, int)':
gap.cpp:33:20: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   33 |     MinMax(1, inf, l,r);
      |                    ^
      |                    |
      |                    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:33:22: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   33 |     MinMax(1, inf, l,r);
      |                      ^
      |                      |
      |                      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:40:42: error: conversion from 'const value_type' {aka 'const interval'} to non-scalar type 'std::pair<long long int, long long int>' requested
   40 |         pair<long long,long long> z=q.top();
      |                                     ~~~~~^~
gap.cpp:44:38: error: no matching function for call to 'std::priority_queue<interval>::push(std::pair<long long int, long long int>&)'
   44 |         if(s.first!=s.second)q.push(s);
      |                                      ^
In file included from /usr/include/c++/10/queue:64,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from gap.cpp:1:
/usr/include/c++/10/bits/stl_queue.h:640:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = interval; _Sequence = std::vector<interval, std::allocator<interval> >; _Compare = std::less<interval>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = interval]'
  640 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/10/bits/stl_queue.h:640:30: note:   no known conversion for argument 1 from 'std::pair<long long int, long long int>' to 'const value_type&' {aka 'const interval&'}
  640 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/10/bits/stl_queue.h:648:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = interval; _Sequence = std::vector<interval, std::allocator<interval> >; _Compare = std::less<interval>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = interval]'
  648 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/10/bits/stl_queue.h:648:25: note:   no known conversion for argument 1 from 'std::pair<long long int, long long int>' to 'std::priority_queue<interval>::value_type&&' {aka 'interval&&'}
  648 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~