# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
12088 | 2014-12-21T00:33:51 Z | tncks0121 | Min-cost GCD (GA9_mcg) | C++14 | Compilation error |
0 ms | 0 KB |
#pragma warning(disable:4996) #include<stdio.h> #include<algorithm> #include <unordered_map> using namespace std; long long a, b, P, Q, C1, C2, TC1, TC2; typedef long long ll; const ll INF = (ll)1e18 + 5; typedef pair<ll,ll> pll; unordered_map<pll, ll> ans; ll mul (ll a, ll b) { if((double)INF / a < b) return INF; return a * b; } long long gcd_cost_quite_fast (long long a, long long b) { if(a == 0 || b == 0)return 0; if(ans.count(pll(a,b)) == 1) return ans[pll(a,b)]; long long ret = 0; if(a >= b) { //correct ret = gcd_cost_quite_fast(b, a%b) + P; ret = min(ret, gcd_cost_quite_fast(a%b, b) + mul(Q, a/b)); }else { ret = gcd_cost_quite_fast(a, b%a) + min(P+P, mul(Q, (b/a))); } return ans[pll(a,b)] = ret; } int main() { int T; scanf("%d", &T); while (T--){ scanf("%lld%lld", &a, &b); scanf("%lld%lld", &P, &Q); ans.clear(); printf("%lld\n",gcd_cost_quite_fast(a, b)); } }
Compilation message
mcg.cpp:1:0: warning: ignoring #pragma warning [-Wunknown-pragmas] #pragma warning(disable:4996) ^ In file included from /usr/include/c++/4.9/bits/hashtable.h:35:0, from /usr/include/c++/4.9/unordered_map:47, from mcg.cpp:4: /usr/include/c++/4.9/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > >’: /usr/include/c++/4.9/type_traits:134:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > >’ /usr/include/c++/4.9/type_traits:145:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ /usr/include/c++/4.9/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<std::pair<long long int, long long int>, long long int>’ mcg.cpp:11:24: required from here /usr/include/c++/4.9/bits/hashtable_policy.h:85:33: error: no match for call to ‘(const std::hash<std::pair<long long int, long long int> >) (const std::pair<long long int, long long int>&)’ noexcept(declval<const _Hash&>()(declval<const _Key&>()))> ^ In file included from /usr/include/c++/4.9/bits/move.h:57:0, from /usr/include/c++/4.9/bits/stl_pair.h:59, from /usr/include/c++/4.9/utility:70, from /usr/include/c++/4.9/algorithm:60, from mcg.cpp:3: /usr/include/c++/4.9/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’: /usr/include/c++/4.9/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<std::pair<long long int, long long int>, long long int>’ mcg.cpp:11:24: required from here /usr/include/c++/4.9/type_traits:145:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > >’ : public integral_constant<bool, !_Pp::value> ^ In file included from /usr/include/c++/4.9/unordered_map:48:0, from mcg.cpp:4: /usr/include/c++/4.9/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<std::pair<long long int, long long int>, long long int>’: mcg.cpp:11:24: required from here /usr/include/c++/4.9/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; ^ /usr/include/c++/4.9/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::key_type key_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::value_type value_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::mapped_type mapped_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::hasher hasher; ^ /usr/include/c++/4.9/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::key_equal key_equal; ^ /usr/include/c++/4.9/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::allocator_type allocator_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::pointer pointer; ^ /usr/include/c++/4.9/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::const_pointer const_pointer; ^ /usr/include/c++/4.9/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::reference reference; ^ /usr/include/c++/4.9/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::const_reference const_reference; ^ /usr/include/c++/4.9/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::iterator iterator; ^ /usr/include/c++/4.9/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::const_iterator const_iterator; ^ /usr/include/c++/4.9/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::local_iterator local_iterator; ^ /usr/include/c++/4.9/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::const_local_iterator const_local_iterator; ^ /usr/include/c++/4.9/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::size_type size_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ typedef typename _Hashtable::difference_type difference_type; ^ /usr/include/c++/4.9/bits/unordered_map.h:242:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ operator=(initializer_list<value_type> __l) ^ /usr/include/c++/4.9/bits/unordered_map.h:340:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ emplace(_Args&&... __args) ^ /usr/include/c++/4.9/bits/unordered_map.h:392:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ insert(const value_type& __x) ^ /usr/include/c++/4.9/bits/unordered_map.h:399:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ insert(_Pair&& __x) ^ /usr/include/c++/4.9/bits/unordered_map.h:459:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ insert(initializer_list<value_type> __l) ^ /usr/include/c++/4.9/bits/unordered_map.h:604:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ equal_range(const key_type& __x) ^ /usr/include/c++/4.9/bits/unordered_map.h:608:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >’ equal_range(const key_type& __x) const ^ mcg.cpp:11:24: error: no matching function for call to ‘std::unordered_map<std::pair<long long int, long long int>, long long int>::unordered_map()’ unordered_map<pll, ll> ans; ^ mcg.cpp:11:24: note: candidates are: In file included from /usr/include/c++/4.9/unordered_map:48:0, from mcg.cpp:4: /usr/include/c++/4.9/bits/unordered_map.h:172:7: note: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&&) [with _Key = std::pair<long long int, long long int>; _Tp = long long int; _Hash = std::hash<std::pair<long long int, long long int> >; _Pred = std::equal_to<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<const std::pair<long long int, long long int>, long long int> >] unordered_map(unordered_map&&) = default; ^ /usr/include/c++/4.9/bits/unordered_map.h:172:7: note: candidate expects 1 argument, 0 provided /usr/include/c++/4.9/bits/unordered_map.h:169:7: note: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(const std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&) [with _Key = std::pair<long long int, long long int>; _Tp = long long int; _Hash = std::hash<std::pair<long long int, long long int> >; _Pred = std::equal_to<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<const std::pair<long long int, long long int>, long long int> >] unordered_map(const unordered_map&) = default; ^ /usr/include/c++/4.9/bits/unordered_map.h:169:7: note: candidate expects 1 argument, 0 provided mcg.cpp: In function ‘long long int gcd_cost_quite_fast(long long int, long long int)’: mcg.cpp:19:12: error: ‘class std::unordered_map<std::pair<long long int, long long int>, long long int>’ has no member named ‘count’ if(ans.count(pll(a,b)) == 1) return ans[pll(a,b)]; ^ mcg.cpp:19:44: error: no match for ‘operator[]’ (operand types are ‘std::unordered_map<std::pair<long long int, long long int>, long long int>’ and ‘pll {aka std::pair<long long int, long long int>}’) if(ans.count(pll(a,b)) == 1) return ans[pll(a,b)]; ^ mcg.cpp:31:15: error: no match for ‘operator[]’ (operand types are ‘std::unordered_map<std::pair<long long int, long long int>, long long int>’ and ‘pll {aka std::pair<long long int, long long int>}’) return ans[pll(a,b)] = ret; ^ In file included from /usr/include/c++/4.9/unordered_map:48:0, from mcg.cpp:4: /usr/include/c++/4.9/bits/unordered_map.h: In instantiation of ‘void std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::clear() [with _Key = std::pair<long long int, long long int>; _Tp = long long int; _Hash = std::hash<std::pair<long long int, long long int> >; _Pred = std::equal_to<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<const std::pair<long long int, long long int>, long long int> >]’: mcg.cpp:41:19: required from here /usr/include/c++/4.9/bits/unordered_map.h:528:9: error: using invalid field ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::_M_h’ { _M_h.clear(); } ^ mcg.cpp:32:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ mcg.cpp: In function ‘int main()’: mcg.cpp:37:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &T); ^ mcg.cpp:39:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%lld", &a, &b); ^ mcg.cpp:40:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%lld", &P, &Q); ^