Submission #1315271

#TimeUsernameProblemLanguageResultExecution timeMemory
1315271PlayVoltzLongest Trip (IOI23_longesttrip)C++20
Compilation error
0 ms0 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second

map<vector<int>, map<vector<int>, int> > mmm;

int query(vector<int> a, vector<int> b){
	if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
	return mmm[a][b]-1;
}

int query(deque<int> a, deque<int> b){
	if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
	return mmm[a][b]-1;
}

vector<int> longest_trip(int n, int d){
	mmm.clear();
	if (d==3){
		vector<int> ans;
		for (int i=0; i<n; ++i)ans.pb(i);
		return ans;
	}
	if (d==2){
		deque<int> ans(1, 0);
		int done=1;
		if (are_connected({0}, {1}))ans.pb(1);
		else ans.pb(2), done=2;
		for (int i=1; i<n; ++i)if (i!=done){
			if (are_connected({i}, {ans.back()}))ans.pb(i);
			else ans.push_front(i);
		}
		vector<int> res;
		for (auto a:ans)res.pb(a);
		return res;
	}
	int aa=-1, bb=-1, cc=-1;
	for (int i=0; i<n; ++i){
		int ooga=-1;
		for (int j=0; j<n; ++j){
			if (ooga==-1&&i!=j&&query({i}, {j}))ooga=j;
			else if (ooga!=-1&&i!=j&&query({i}, {j})){
				aa=i, bb=ooga, cc=j;
				break;
			}
		}
	}
	deque<int> a(1, bb);
	for (int i=0; i<n; ++i)if (i!=aa&&i!=bb&&i!=cc){
		if (query({i}, {a.back()}))a.pb(i);
		else if (query({i}, {b.back()}))b.pb(i);
		else{
			while (b.size())a.pb(b.back()), b.pop_back();
			b.pb(i);
		}
	}
	if (query({i}, {a.back()}))a.pb(i);
	else if (query({i}, {b.back()}))b.pb(i);
	else{
		while (b.size())a.pb(b.back()), b.pop_back();
		b.pb(i);
	}
	if (b.size()>a.size())swap(a, b);
	if (query({a.back()}, {b.back()})){
		while (b.size())a.pb(b.back()), b.pop_back();
	}
	else if (query({a.back()}, {b[0]})){
		for (auto c:b)a.pb(c);
	}
	else if (query({a[0]}, {b.back()})){
		while (b.size())a.push_front(b.back()), b.pop_back();
	}
	else if (query({a[0]}, {b[0]})){
		for (auto c:b)a.push_front(c);
	}
	else{
		for (int i=1; j<b.size()-1; ++i)if (query({b[j]}, {a[0], a.back()})){
			if (query({b[j]}, {a.back()}))for (int j=0; j<b.size(); ++j)a.pb(b[(i+j)%b.size()]);
			else for (int j=0; j<b.size(); ++j)a.push_front(b[(i+j)%b.size()]);
		}
	}
	vector<int> res;
	for (auto c:a)res.pb(c);
	return res;
}

Compilation message (stderr)

longesttrip.cpp: In function 'int query(std::deque<int>, std::deque<int>)':
longesttrip.cpp:19:17: error: no match for 'operator[]' (operand types are 'std::map<std::vector<int>, std::map<std::vector<int>, int> >' and 'std::deque<int>')
   19 |         if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
      |                 ^
In file included from /usr/include/c++/13/map:63,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:152,
                 from longesttrip.cpp:2:
/usr/include/c++/13/bits/stl_map.h:504:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  504 |       operator[](const key_type& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:504:34: note:   no known conversion for argument 1 from 'std::deque<int>' to 'const std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&' {aka 'const std::vector<int>&'}
  504 |       operator[](const key_type& __k)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_map.h:524:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  524 |       operator[](key_type&& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:524:29: note:   no known conversion for argument 1 from 'std::deque<int>' to 'std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&&' {aka 'std::vector<int>&&'}
  524 |       operator[](key_type&& __k)
      |                  ~~~~~~~~~~~^~~
longesttrip.cpp:19:29: error: no match for 'operator[]' (operand types are 'std::map<std::vector<int>, std::map<std::vector<int>, int> >' and 'std::deque<int>')
   19 |         if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
      |                             ^
/usr/include/c++/13/bits/stl_map.h:504:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  504 |       operator[](const key_type& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:504:34: note:   no known conversion for argument 1 from 'std::deque<int>' to 'const std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&' {aka 'const std::vector<int>&'}
  504 |       operator[](const key_type& __k)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_map.h:524:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  524 |       operator[](key_type&& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:524:29: note:   no known conversion for argument 1 from 'std::deque<int>' to 'std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&&' {aka 'std::vector<int>&&'}
  524 |       operator[](key_type&& __k)
      |                  ~~~~~~~~~~~^~~
longesttrip.cpp:19:39: error: no match for 'operator[]' (operand types are 'std::map<std::vector<int>, std::map<std::vector<int>, int> >' and 'std::deque<int>')
   19 |         if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
      |                                       ^
/usr/include/c++/13/bits/stl_map.h:504:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  504 |       operator[](const key_type& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:504:34: note:   no known conversion for argument 1 from 'std::deque<int>' to 'const std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&' {aka 'const std::vector<int>&'}
  504 |       operator[](const key_type& __k)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_map.h:524:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  524 |       operator[](key_type&& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:524:29: note:   no known conversion for argument 1 from 'std::deque<int>' to 'std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&&' {aka 'std::vector<int>&&'}
  524 |       operator[](key_type&& __k)
      |                  ~~~~~~~~~~~^~~
longesttrip.cpp:19:49: error: no match for 'operator[]' (operand types are 'std::map<std::vector<int>, std::map<std::vector<int>, int> >' and 'std::deque<int>')
   19 |         if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
      |                                                 ^
/usr/include/c++/13/bits/stl_map.h:504:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  504 |       operator[](const key_type& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:504:34: note:   no known conversion for argument 1 from 'std::deque<int>' to 'const std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&' {aka 'const std::vector<int>&'}
  504 |       operator[](const key_type& __k)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_map.h:524:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  524 |       operator[](key_type&& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:524:29: note:   no known conversion for argument 1 from 'std::deque<int>' to 'std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&&' {aka 'std::vector<int>&&'}
  524 |       operator[](key_type&& __k)
      |                  ~~~~~~~~~~~^~~
longesttrip.cpp:19:70: error: could not convert 'a' from 'std::deque<int>' to 'std::vector<int>'
   19 |         if (!mmm[a][b]&&!mmm[b][a])mmm[b][a]=mmm[a][b]=are_connected(a, b)+1;
      |                                                                      ^
      |                                                                      |
      |                                                                      std::deque<int>
longesttrip.cpp:20:19: error: no match for 'operator[]' (operand types are 'std::map<std::vector<int>, std::map<std::vector<int>, int> >' and 'std::deque<int>')
   20 |         return mmm[a][b]-1;
      |                   ^
/usr/include/c++/13/bits/stl_map.h:504:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  504 |       operator[](const key_type& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:504:34: note:   no known conversion for argument 1 from 'std::deque<int>' to 'const std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&' {aka 'const std::vector<int>&'}
  504 |       operator[](const key_type& __k)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_map.h:524:7: note: candidate: 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = std::vector<int>; _Tp = std::map<std::vector<int>, int>; _Compare = std::less<std::vector<int> >; _Alloc = std::allocator<std::pair<const std::vector<int>, std::map<std::vector<int>, int> > >; mapped_type = std::map<std::vector<int>, int>; key_type = std::vector<int>]'
  524 |       operator[](key_type&& __k)
      |       ^~~~~~~~
/usr/include/c++/13/bits/stl_map.h:524:29: note:   no known conversion for argument 1 from 'std::deque<int>' to 'std::map<std::vector<int>, std::map<std::vector<int>, int> >::key_type&&' {aka 'std::vector<int>&&'}
  524 |       operator[](key_type&& __k)
      |                  ~~~~~~~~~~~^~~
longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:47:50: error: call of overloaded 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)' is ambiguous
   47 |                         if (ooga==-1&&i!=j&&query({i}, {j}))ooga=j;
      |                                             ~~~~~^~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:48:55: error: call of overloaded 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)' is ambiguous
   48 |                         else if (ooga!=-1&&i!=j&&query({i}, {j})){
      |                                                  ~~~~~^~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:56:26: error: call of overloaded 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)' is ambiguous
   56 |                 if (query({i}, {a.back()}))a.pb(i);
      |                     ~~~~~^~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:57:38: error: 'b' was not declared in this scope
   57 |                 else if (query({i}, {b.back()}))b.pb(i);
      |                                      ^
longesttrip.cpp:57:31: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   57 |                 else if (query({i}, {b.back()}))b.pb(i);
      |                          ~~~~~^~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:38: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |                          ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:36: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |                         ~~~~~~~~~~~^
longesttrip.cpp:63:20: error: 'i' was not declared in this scope
   63 |         if (query({i}, {a.back()}))a.pb(i);
      |                    ^
longesttrip.cpp:63:18: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   63 |         if (query({i}, {a.back()}))a.pb(i);
      |             ~~~~~^~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:23: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |           ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:22: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |           ~~~~~~~~~~~^
longesttrip.cpp:64:30: error: 'b' was not declared in this scope
   64 |         else if (query({i}, {b.back()}))b.pb(i);
      |                              ^
longesttrip.cpp:64:23: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   64 |         else if (query({i}, {b.back()}))b.pb(i);
      |                  ~~~~~^~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:23: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |           ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:22: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |           ~~~~~~~~~~~^
longesttrip.cpp:69:13: error: 'b' was not declared in this scope
   69 |         if (b.size()>a.size())swap(a, b);
      |             ^
longesttrip.cpp:70:32: error: 'b' was not declared in this scope
   70 |         if (query({a.back()}, {b.back()})){
      |                                ^
longesttrip.cpp:70:18: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   70 |         if (query({a.back()}, {b.back()})){
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:38: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |                          ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:36: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |                         ~~~~~~~~~~~^
longesttrip.cpp:73:23: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   73 |         else if (query({a.back()}, {b[0]})){
      |                  ~~~~~^~~~~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:38: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |                          ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:36: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |                         ~~~~~~~~~~~^
longesttrip.cpp:76:23: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   76 |         else if (query({a[0]}, {b.back()})){
      |                  ~~~~~^~~~~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:38: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |                          ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:36: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |                         ~~~~~~~~~~~^
longesttrip.cpp:79:23: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   79 |         else if (query({a[0]}, {b[0]})){
      |                  ~~~~~^~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:38: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |                          ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:36: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |                         ~~~~~~~~~~~^
longesttrip.cpp:83:31: error: 'j' was not declared in this scope
   83 |                 for (int i=1; j<b.size()-1; ++i)if (query({b[j]}, {a[0], a.back()})){
      |                               ^
longesttrip.cpp:83:58: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   83 |                 for (int i=1; j<b.size()-1; ++i)if (query({b[j]}, {a[0], a.back()})){
      |                                                     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:23: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |           ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:22: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |           ~~~~~~~~~~~^
longesttrip.cpp:84:34: error: no matching function for call to 'query(<brace-enclosed initializer list>, <brace-enclosed initializer list>)'
   84 |                         if (query({b[j]}, {a.back()}))for (int j=0; j<b.size(); ++j)a.pb(b[(i+j)%b.size()]);
      |                             ~~~~~^~~~~~~~~~~~~~~~~~~~
longesttrip.cpp:13:5: note: candidate: 'int query(std::vector<int>, std::vector<int>)'
   13 | int query(vector<int> a, vector<int> b){
      |     ^~~~~
longesttrip.cpp:13:23: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>'
   13 | int query(vector<int> a, vector<int> b){
      |           ~~~~~~~~~~~~^
longesttrip.cpp:18:5: note: candidate: 'int query(std::deque<int>, std::deque<int>)'
   18 | int query(deque<int> a, deque<int> b){
      |     ^~~~~
longesttrip.cpp:18:22: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<int>'
   18 | int query(deque<int> a, deque<int> b){
      |           ~~~~~~~~~~~^