Submission #128397

#TimeUsernameProblemLanguageResultExecution timeMemory
128397TadijaSebezTriangles (CEOI18_tri)C++11
Compilation error
0 ms0 KiB
//#include "trilib.h" #include <bits/stdc++.h> using namespace std; #define pb push_back vector<int> Hull(vector<int> v) { sort(v.begin(),v.end(),[](int x, int y){ return is_clockwise(1,y,x);}); vector<int> ans; ans.pb(1); for(int i:v) { while(ans.size()>1 && is_clockwise(ans[ans.size()-2],ans.back(),i)) ans.pop_back(); ans.pb(i); } return ans; } const int N=40050; bool ban[N]; vector<int> Merge(vector<int> x, vector<int> y) { for(int i=0;i<N;i++) ban[i]=1; for(int i:x) ban[i]=0; for(int i:y) ban[i]=0; int t; if(y[1]==2) reverse(y.begin()+1,y.end()),t=1; else reverse(x.begin()+1,x.end()),t=0; x.pop_back(); while(1) { if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back(); else if(is_clockwise(y.back(),x.back(),x[x.size()-2])!=t) ban[x.back()]=1,x.pop_back(); else break; } reverse(x.begin(),x.end()); reverse(y.begin(),y.end()); y.pop_back(); t^=1; while(1) { if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back(); else if(is_clockwise(y.back(),x.back(),x[x.size()-2])!=t) ban[x.back()]=1,x.pop_back(); else break; } vector<int> ans; for(int i=0;i<N;i++) if(!ban[i]) ans.pb(i); return ans; } int main() { int n=get_n(); vector<int> v[2]; for(int i=3;i<=n;i++) v[is_clockwise(1,2,i)].pb(i); if(v[0].empty() || v[1].empty()) { if(v[0].empty()) v[0]=v[1]; v[0].pb(2); v[0]=Hull(v[0]); give_answer(v[0].size()); return 0; } v[0].pb(2); v[1].pb(2); v[0]=Hull(v[0]); v[1]=Hull(v[1]); vector<int> all=Merge(v[0],v[1]); give_answer(all.size()); return 0; }

Compilation message (stderr)

tri.cpp: In lambda function:
tri.cpp:7:50: error: 'is_clockwise' was not declared in this scope
  sort(v.begin(),v.end(),[](int x, int y){ return is_clockwise(1,y,x);});
                                                  ^~~~~~~~~~~~
tri.cpp:7:50: note: suggested alternative: 'funlockfile'
  sort(v.begin(),v.end(),[](int x, int y){ return is_clockwise(1,y,x);});
                                                  ^~~~~~~~~~~~
                                                  funlockfile
tri.cpp: In function 'std::vector<int> Hull(std::vector<int>)':
tri.cpp:12:25: error: 'is_clockwise' was not declared in this scope
   while(ans.size()>1 && is_clockwise(ans[ans.size()-2],ans.back(),i)) ans.pop_back();
                         ^~~~~~~~~~~~
tri.cpp:12:25: note: suggested alternative: 'funlockfile'
   while(ans.size()>1 && is_clockwise(ans[ans.size()-2],ans.back(),i)) ans.pop_back();
                         ^~~~~~~~~~~~
                         funlockfile
tri.cpp: In function 'std::vector<int> Merge(std::vector<int>, std::vector<int>)':
tri.cpp:30:6: error: 'is_clockwise' was not declared in this scope
   if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back();
      ^~~~~~~~~~~~
tri.cpp:30:6: note: suggested alternative: 'funlockfile'
   if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back();
      ^~~~~~~~~~~~
      funlockfile
tri.cpp:40:6: error: 'is_clockwise' was not declared in this scope
   if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back();
      ^~~~~~~~~~~~
tri.cpp:40:6: note: suggested alternative: 'funlockfile'
   if(is_clockwise(x.back(),y.back(),y[y.size()-2])==t) ban[y.back()]=1,y.pop_back();
      ^~~~~~~~~~~~
      funlockfile
tri.cpp: In function 'int main()':
tri.cpp:50:8: error: 'get_n' was not declared in this scope
  int n=get_n();
        ^~~~~
tri.cpp:50:8: note: suggested alternative: 'getwc'
  int n=get_n();
        ^~~~~
        getwc
tri.cpp:52:26: error: 'is_clockwise' was not declared in this scope
  for(int i=3;i<=n;i++) v[is_clockwise(1,2,i)].pb(i);
                          ^~~~~~~~~~~~
tri.cpp:52:26: note: suggested alternative: 'funlockfile'
  for(int i=3;i<=n;i++) v[is_clockwise(1,2,i)].pb(i);
                          ^~~~~~~~~~~~
                          funlockfile
tri.cpp:58:3: error: 'give_answer' was not declared in this scope
   give_answer(v[0].size());
   ^~~~~~~~~~~
tri.cpp:66:2: error: 'give_answer' was not declared in this scope
  give_answer(all.size());
  ^~~~~~~~~~~
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 tri.cpp:2:
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of '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 = Hull(std::vector<int>)::<lambda(int, int)>]':
/usr/include/c++/7/bits/stl_algo.h:1847:14:   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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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 = Hull(std::vector<int>)::<lambda(int, int)>]'
tri.cpp:7:71:   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 = Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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 = Hull(std::vector<int>)::<lambda(int, int)>]'
tri.cpp:7:71:   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 = Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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<Hull(std::vector<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 = Hull(std::vector<int>)::<lambda(int, int)>]'
tri.cpp:7:71:   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)); }
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~