# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
196934 | 2020-01-17T18:21:19 Z | Swan | Detecting Molecules (IOI16_molecules) | C++14 | Compilation error |
0 ms | 0 KB |
#include <bits/stdc++.h> #include "molecules.h" #define stop system("pause") #define stop2 char o; cin >> o #define INP freopen("cowrect.in","r",stdin) #define OUTP freopen ("cowrect.out","w",stdout) using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<int,int> > start; for(int i(0); i < w.size();i++){ start.push_back({w[i],i}); } sort(start.begin(),start.end()); sort(w.begin(),w.end()); if(w[0] > u)return {}; long long res = 0; for(int i(0); i < w.size();i++){ res+=w[i]; } if(res < l)return {}; if(res>=l && res<=u){ vector<int> ans; for(int i(0); i < start.size();i++)ans.push_back(start[i].second); return ans; } res = 0; set<pair<int,int> > s; int cnt = 0; int pnt = 0; int start = -1; for(int i(0); i < w.size();i++){ if(res + w[i] > u)break; res+=w[i]; cnt++; s.insert({w[i],i}); start++; } //cout << res << ' ' << cnt << endl; vector<int> v; //return {w.size()}; pnt = w.size()-1; while(cnt){ int now = s.begin()->first; res-=now; res+=w[pnt]; s.erase(s.begin()); s.insert({w[pnt],pnt}); pnt--; cnt--; //cout << res << ' ' << l << ' ' << u << endl; if(res>=l && res <=u){ int pnt = 0; for(auto& a: s)v.push_back(start[a.second].second); return v; } if(pnt == start)break; } //cout << res << endl; return {}; } /* main(){ ios_base::sync_with_stdio(0); int l,u,n; cin >> l >> u >> n; vector<int> v; for(int i(0); i < n;i++){ int x; cin >> x; v.push_back(x); } vector<int> ans = find_subset(l,u,v); for(int i(0); i < ans.size();i++)cout << ans[i] << ' '; return 0; } */ /* 15 17 4 6 8 8 7 14 15 4 5 5 6 6 10 20 4 15 17 16 18 0 0 5 10 10 10 10 10 */
Compilation message
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)': molecules.cpp:13:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i(0); i < w.size();i++){ ~~^~~~~~~~~~ molecules.cpp:20:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i(0); i < w.size();i++){ ~~^~~~~~~~~~ molecules.cpp:26:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i(0); i < start.size();i++)ans.push_back(start[i].second); ~~^~~~~~~~~~~~~~ molecules.cpp:33:9: error: conflicting declaration 'int start' int start = -1; ^~~~~ molecules.cpp:12:28: note: previous declaration as 'std::vector<std::pair<int, int> > start' vector<pair<int,int> > start; ^~~~~ molecules.cpp:34:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i(0); i < w.size();i++){ ~~^~~~~~~~~~ molecules.cpp:39:14: error: no 'operator++(int)' declared for postfix '++' [-fpermissive] start++; ~~~~~^~ molecules.cpp:55:17: warning: unused variable 'pnt' [-Wunused-variable] int pnt = 0; ^~~ molecules.cpp:59:16: error: no match for 'operator==' (operand types are 'int' and 'std::vector<std::pair<int, int> >') if(pnt == start)break; ~~~~^~~~~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:940:5: note: candidate: template<class _BiIter> bool std::__cxx11::operator==(const std::__cxx11::sub_match<_BiIter>&, const std::__cxx11::sub_match<_BiIter>&) operator==(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs) ^~~~~~~~ /usr/include/c++/7/bits/regex.h:940:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1013:5: note: candidate: template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator==(std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const std::__cxx11::sub_match<_BiIter>&) operator==(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1013:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1093:5: note: candidate: template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator==(const std::__cxx11::sub_match<_BiIter>&, std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&) operator==(const sub_match<_Bi_iter>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1093:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1173:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type*, const std::__cxx11::sub_match<_BiIter>&) operator==(typename iterator_traits<_Bi_iter>::value_type const* __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1173:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: 'std::vector<std::pair<int, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1247:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator==(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*) operator==(const sub_match<_Bi_iter>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1247:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1321:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type&, const std::__cxx11::sub_match<_BiIter>&) operator==(typename iterator_traits<_Bi_iter>::value_type const& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1321:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: 'std::vector<std::pair<int, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1401:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator==(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&) operator==(const sub_match<_Bi_iter>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1401:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/regex:62:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110, from molecules.cpp:1: /usr/include/c++/7/bits/regex.h:1920:5: note: candidate: template<class _Bi_iter, class _Alloc> bool std::__cxx11::operator==(const std::__cxx11::match_results<_BiIter, _Alloc>&, const std::__cxx11::match_results<_BiIter, _Alloc>&) operator==(const match_results<_Bi_iter, _Alloc>& __m1, ^~~~~~~~ /usr/include/c++/7/bits/regex.h:1920:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::match_results<_BiIter, _Alloc>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/iosfwd:40:0, from /usr/include/c++/7/ios:38, 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/bits/postypes.h:216:5: note: candidate: template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&) operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) ^~~~~~~~ /usr/include/c++/7/bits/postypes.h:216:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::fpos<_StateT>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64: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 molecules.cpp:1: /usr/include/c++/7/bits/stl_pair.h:443:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ^~~~~~~~ /usr/include/c++/7/bits/stl_pair.h:443:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::pair<_T1, _T2>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67: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 molecules.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:299:5: note: candidate: template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator==(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:299:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::reverse_iterator<_Iterator>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67: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 molecules.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:337:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&) operator==(const reverse_iterator<_IteratorL>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:337:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::reverse_iterator<_Iterator>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67: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 molecules.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:1118:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&) operator==(const move_iterator<_IteratorL>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:1118:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::move_iterator<_IteratorL>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67: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 molecules.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:1124:5: note: candidate: template<class _Iterator> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&) operator==(const move_iterator<_Iterator>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:1124:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::move_iterator<_IteratorL>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/string:41:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, 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/bits/allocator.h:146:5: note: candidate: template<class _T1, class _T2> bool std::operator==(const std::allocator<_CharT>&, const std::allocator<_T2>&) operator==(const allocator<_T1>&, const allocator<_T2>&) ^~~~~~~~ /usr/include/c++/7/bits/allocator.h:146:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::allocator<_CharT>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/string:41:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, 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/bits/allocator.h:152:5: note: candidate: template<class _Tp> bool std::operator==(const std::allocator<_CharT>&, const std::allocator<_CharT>&) operator==(const allocator<_Tp>&, const allocator<_Tp>&) ^~~~~~~~ /usr/include/c++/7/bits/allocator.h:152:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::allocator<_CharT>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, 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/bits/basic_string.h:5997:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:5997:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, 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/bits/basic_string.h:6005:5: note: candidate: template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::__cxx11::basic_string<_CharT>&, const std::__cxx11::basic_string<_CharT>&) operator==(const basic_string<_CharT>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6005:5: note: template argument deduction/substitution failed: molecules.cpp:59:19: note: mismatched types 'const std::__cxx11::basic_string<_CharT>' and 'int' if(pnt == start)break; ^~~~~ In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, 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/bits/basic_string.h:6019:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator==(const _CharT* __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6019:5: note: template argument deduction/substitution failed: /var/l