编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#51475 | #1280. zxh的均分继承法 | Compile Error | 0 | 0 ms | 0 K | C++ 17 / 453 B | q3540555 | 2021-07-06 15:07:05 |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
multimap<long double, pair<ll, ll>, greater<long double>> mp;
int main() {
int n;
ll num, deno;
long double k;
cin >> n;
while (n--) {
cin >> num >> deno;
k = (long double)num / (long double)deno;
mp.insert(k, { num, deno });
}
for (auto p : mp) cout << p.second.first << "/" << p.second.second << endl;
return 0;
}
编译信息
/sandbox/1/a.cpp: In function 'int main()':
/sandbox/1/a.cpp:13:33: error: no matching function for call to 'std::multimap<long double, std::pair<long long int, long long int>, std::greater<long double> >::insert(long double&, <brace-enclosed initializer list>)'
mp.insert(k, {num, deno});
^
In file included from /usr/include/c++/8/map:62,
from /usr/include/x86_64-linux-gnu/c++/8/x32/bits/stdc++.h:81,
from /sandbox/1/a.cpp:1:
/usr/include/c++/8/bits/stl_multimap.h:537:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const long double, std::pair<long long int, long long int> >]'
insert(const value_type& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:537:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/8/bits/stl_multimap.h:544:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const long double, std::pair<long long int, long long int> >]'
insert(value_type&& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:544:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/8/bits/stl_multimap.h:551:2: note: candidate: 'template<class _Pair, class> std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >]'
insert(_Pair&& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:551:2: note: template argument deduction/substitution failed:
/sandbox/1/a.cpp:13:33: note: candidate expects 1 argument, 2 provided
mp.insert(k, {num, deno});
^
In file included from /usr/include/c++/8/map:62,
from /usr/include/x86_64-linux-gnu/c++/8/x32/bits/stdc++.h:81,
from /sandbox/1/a.cpp:1:
/usr/include/c++/8/bits/stl_multimap.h:579:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const long double, std::pair<long long int, long long int> >]'
insert(const_iterator __position, const value_type& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:579:7: note: no known conversion for argument 1 from 'long double' to 'std::multimap<long double, std::pair<long long int, long long int>, std::greater<long double> >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >'}
/usr/include/c++/8/bits/stl_multimap.h:589:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const long double, std::pair<long long int, long long int> >]'
insert(const_iterator __position, value_type&& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:589:7: note: no known conversion for argument 1 from 'long double' to 'std::multimap<long double, std::pair<long long int, long long int>, std::greater<long double> >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >'}
/usr/include/c++/8/bits/stl_multimap.h:596:2: note: candidate: 'template<class _Pair, class> std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >]'
insert(const_iterator __position, _Pair&& __x)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:596:2: note: template argument deduction/substitution failed:
/sandbox/1/a.cpp:13:33: note: couldn't deduce template parameter '_Pair'
mp.insert(k, {num, deno});
^
In file included from /usr/include/c++/8/map:62,
from /usr/include/x86_64-linux-gnu/c++/8/x32/bits/stdc++.h:81,
from /sandbox/1/a.cpp:1:
/usr/include/c++/8/bits/stl_multimap.h:613:2: note: candidate: 'void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = long double; _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >]'
insert(_InputIterator __first, _InputIterator __last)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:613:2: note: no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'long double'
/usr/include/c++/8/bits/stl_multimap.h:625:7: note: candidate: 'void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >]'
insert(initializer_list<value_type> __l)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:625:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/8/bits/stl_multimap.h:645:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::node_type&&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::node_type = std::_Node_handle<long double, std::pair<const long double, std::pair<long long int, long long int> >, std::allocator<std::_Rb_tree_node<std::pair<const long double, std::pair<long long int, long long int> > > > >]'
insert(node_type&& __nh)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:645:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/8/bits/stl_multimap.h:650:7: note: candidate: 'std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, std::multimap<_Key, _Tp, _Compare, _Alloc>::node_type&&) [with _Key = long double; _Tp = std::pair<long long int, long long int>; _Compare = std::greater<long double>; _Alloc = std::allocator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >; std::multimap<_Key, _Tp, _Compare, _Alloc>::node_type = std::_Node_handle<long double, std::pair<const long double, std::pair<long long int, long long int> >, std::allocator<std::_Rb_tree_node<std::pair<const long double, std::pair<long long int, long long int> > > > >]'
insert(const_iterator __hint, node_type&& __nh)
^~~~~~
/usr/include/c++/8/bits/stl_multimap.h:650:7: note: no known conversion for argument 1 from 'long double' to 'std::multimap<long double, std::pair<long long int, long long int>, std::greater<long double> >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long double, std::pair<long long int, long long int> > >'}