답안 #162517

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
162517 2019-11-08T15:32:20 Z MohamedAhmed04 Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#include "molecules.h"
//#include "grader.cpp"

using namespace std ;

unordered_map< pair<int , long long> , bool>dp , vis;
vector<int>arr ;

int x , y , n;

bool solve(int idx , int sum)
{
	if(sum >= x && sum <= y)
		return 1 ;
	if(sum > y || idx == n)
		return 0 ;
	if(vis[{idx , sum}])
		return dp[{idx , sum}] ;
	vis[{idx , sum}] = 1 ;
	dp[{idx , sum}] = solve(idx+1 , sum) ;
	if(dp[{idx , sum}] == 0)
		dp[{idx , sum}] = solve(idx+1 , sum + arr[idx]) ;
	return dp[{idx , sum}] ;
}

vector<int>v ;

void build(int idx , int sum)
{
	if(sum >= x && sum <= y)
		return ;
	if(solve(idx+1 , sum) == 1)
		build(idx+1 , sum) ;
	else
	{
		v.push_back(idx) ;
		build(idx+1 , sum + arr[idx]) ;
	}
	return ;
}

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    arr = w ;
    x = l , y = u ;
    n = arr.size() ;
    if(solve(0 , 0))
    	build(0 , 0) ;
    return v ;
}

Compilation message

In file included from /usr/include/c++/7/bits/hashtable.h:35:0,
                 from /usr/include/c++/7/unordered_map:47,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
                 from molecules.cpp:1:
/usr/include/c++/7/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > >':
/usr/include/c++/7/type_traits:143:12:   required from 'struct std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > >'
/usr/include/c++/7/type_traits:154:31:   required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
/usr/include/c++/7/bits/unordered_map.h:103:66:   required from 'class std::unordered_map<std::pair<int, long long int>, bool>'
molecules.cpp:7:45:   required from here
/usr/include/c++/7/bits/hashtable_policy.h:87:34: error: no match for call to '(const std::hash<std::pair<int, long long int> >) (const std::pair<int, long long int>&)'
  noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/nested_exception.h:40,
                 from /usr/include/c++/7/exception:143,
                 from /usr/include/c++/7/ios:39,
                 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 molecules.cpp:1:
/usr/include/c++/7/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >':
/usr/include/c++/7/bits/unordered_map.h:103:66:   required from 'class std::unordered_map<std::pair<int, long long int>, bool>'
molecules.cpp:7:45:   required from here
/usr/include/c++/7/type_traits:154:31: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > >'
     : public __bool_constant<!bool(_Pp::value)>
                               ^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
                 from molecules.cpp:1:
/usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<int, long long int>, bool>':
molecules.cpp:7:45:   required from here
/usr/include/c++/7/bits/unordered_map.h:103:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                  ^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:110:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::key_type key_type;
                                             ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:111:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::value_type value_type;
                                               ^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:112:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::mapped_type mapped_type;
                                                ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:113:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::hasher hasher;
                                           ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:114:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::key_equal key_equal;
                                              ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:115:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::allocator_type allocator_type;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:120:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::pointer  pointer;
                                             ^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:121:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::const_pointer const_pointer;
                                                  ^~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::reference  reference;
                                               ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:123:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::const_reference const_reference;
                                                    ^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:124:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::iterator  iterator;
                                              ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:125:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::const_iterator const_iterator;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:126:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::local_iterator local_iterator;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:127:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::const_local_iterator const_local_iterator;
                                                         ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:128:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::size_type  size_type;
                                               ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:129:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       typedef typename _Hashtable::difference_type difference_type;
                                                    ^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:288:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       operator=(initializer_list<value_type> __l)
       ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:386:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
  emplace(_Args&&... __args)
  ^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:578:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       insert(const value_type& __x)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:584:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       insert(value_type&& __x)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:591:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
  insert(_Pair&& __x)
  ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:657:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       insert(initializer_list<value_type> __l)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:953:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       equal_range(const key_type& __x)
       ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:957:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<int, long long int>, std::hash<std::pair<int, long long int> > > > >'
       equal_range(const key_type& __x) const
       ^~~~~~~~~~~
molecules.cpp: In function 'bool solve(int, int)':
molecules.cpp:18:8: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
  if(vis[{idx , sum}])
        ^
molecules.cpp:19:12: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
   return dp[{idx , sum}] ;
            ^
molecules.cpp:20:5: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
  vis[{idx , sum}] = 1 ;
     ^
molecules.cpp:21:4: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
  dp[{idx , sum}] = solve(idx+1 , sum) ;
    ^
molecules.cpp:22:7: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
  if(dp[{idx , sum}] == 0)
       ^
molecules.cpp:23:5: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
   dp[{idx , sum}] = solve(idx+1 , sum + arr[idx]) ;
     ^
molecules.cpp:24:11: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, long long int>, bool>' and '<brace-enclosed initializer list>')
  return dp[{idx , sum}] ;
           ^