Submission #158974

# Submission time Handle Problem Language Result Execution time Memory
158974 2019-10-19T17:45:39 Z combi1k1 Meetings (JOI19_meetings) C++14
Compilation error
0 ms 0 KB
#include<bits/stdc++.h>

using namespace std;

#define X   first
#define Y   second

typedef pair<int,int>   ii;

void calc(vector<int> Ver,int P)    {
    int n = Ver.size();
    if (n == 1) {
        Bridge(Ver[0],P);
        return;
    }
    if (n == 0) return;

    vector<ii>  Remain;
    vector<int> toRoot;

    int x = Ver[rand() % n];

    for(int a : Ver)    {
        int u = Query(P,a,x);
        if (u == a)
            toRoot.push_back(u);
        else
            Remain.push_back({u,a});
    }

    sort(Remain.begin(),Remain.end());
    sort(toRoot.begin(),toRoot.end(),[&](int x,int y)   {
        return  Query(P,x,y) == x;
    });

    for(int x : toRoot)
        Bridge(x,P),
        P = x;

    int l = 0;
    int r = 0;

    for(; l < Remain.size() ;)  {
        vector<int> vec;
        for(; r < Remain.size() && Remain[r].X == Remain[l].X ; ++r);
            vec.push_back(Remain[r].Y);
        calc(vec, Remain[l].X);
        l = r;
    }
}

void Solve(int n)   {
    srand(time(NULL));
    vector<int> Ver(n - 1);

    iota(Ver.begin(),Ver.end(),1);

    calc(Ver,0);
}

Compilation message

meetings.cpp: In function 'void calc(std::vector<int>, int)':
meetings.cpp:13:9: error: 'Bridge' was not declared in this scope
         Bridge(Ver[0],P);
         ^~~~~~
meetings.cpp:13:9: note: suggested alternative: 'fwide'
         Bridge(Ver[0],P);
         ^~~~~~
         fwide
meetings.cpp:24:17: error: 'Query' was not declared in this scope
         int u = Query(P,a,x);
                 ^~~~~
meetings.cpp: In lambda function:
meetings.cpp:33:17: error: 'Query' was not declared in this scope
         return  Query(P,x,y) == x;
                 ^~~~~
meetings.cpp: In function 'void calc(std::vector<int>, int)':
meetings.cpp:37:9: error: 'Bridge' was not declared in this scope
         Bridge(x,P),
         ^~~~~~
meetings.cpp:37:9: note: suggested alternative: 'fwide'
         Bridge(x,P),
         ^~~~~~
         fwide
meetings.cpp:43:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(; l < Remain.size() ;)  {
           ~~^~~~~~~~~~~~~~~
meetings.cpp:45:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; r < Remain.size() && Remain[r].X == Remain[l].X ; ++r);
               ~~^~~~~~~~~~~~~~~
meetings.cpp:45:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
         for(; r < Remain.size() && Remain[r].X == Remain[l].X ; ++r);
         ^~~
meetings.cpp:46:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
             vec.push_back(Remain[r].Y);
             ^~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from meetings.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Iterator2 = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]':
/usr/include/c++/7/bits/stl_algo.h:81:17:   required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1921:34:   required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1953:38:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1968:25:   required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:4868:18:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]'
meetings.cpp:34:6:   required from here
/usr/include/c++/7/bits/predefined_ops.h:143:18: error: void value not ignored as it ought to be
         { return bool(_M_comp(*__it1, *__it2)); }
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = int; _Iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]':
/usr/include/c++/7/bits/stl_algo.h:1828:20:   required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1855:36:   required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1885:25:   required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1971:31:   required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:4868:18:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]'
meetings.cpp:34:6:   required from here
/usr/include/c++/7/bits/predefined_ops.h:215:11: error: void value not ignored as it ought to be
  { return bool(_M_comp(__val, *__it)); }
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Value = int; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]':
/usr/include/c++/7/bits/stl_heap.h:133:48:   required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = long int; _Tp = int; _Compare = __gnu_cxx::__ops::_Iter_comp_val<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_heap.h:237:23:   required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = long int; _Tp = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_heap.h:342:22:   required from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1672:23:   required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1933:25:   required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1948:27:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:1968:25:   required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<calc(std::vector<int>, int)::<lambda(int, int)> >]'
/usr/include/c++/7/bits/stl_algo.h:4868:18:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = calc(std::vector<int>, int)::<lambda(int, int)>]'
meetings.cpp:34:6:   required from here
/usr/include/c++/7/bits/predefined_ops.h:177:11: error: void value not ignored as it ought to be
  { return bool(_M_comp(*__it, __val)); }
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~