# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
676989 | Dulguun | Detecting Molecules (IOI16_molecules) | C++11 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
auto find_subset(int l, int u, auto w){
int n = sizeof(w)/sizeof(w[0]);
vector<pair<int,int>> v(n);
for(int i=0; i<n; i++) v[i]={w[i], i};
sort(v.begin(), v.end());
for(int k=n; k>0; k++){
int s=0;
for(int i=0; i<k; i++) s+=v[i];
do{
if(s>=l && s<=u) {
int sol[k];
for(int j=0; j<k; j++) sol[j]=v[j].second;
return sol;
}s=s+v[i]-v[i-k];
}
while(int i=k; i<n; i++)
}
}
Compilation message (stderr)
molecules.cpp:4:32: error: use of 'auto' in parameter declaration only available with '-std=c++14' or '-std=gnu++14' 4 | auto find_subset(int l, int u, auto w){ | ^~~~ molecules.cpp:4:1: error: 'find_subset' function uses 'auto' type specifier without trailing return type 4 | auto find_subset(int l, int u, auto w){ | ^~~~ molecules.cpp:4:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14' molecules.cpp: In function 'auto find_subset(int, int, int)': molecules.cpp:5:28: error: invalid types 'int[int]' for array subscript 5 | int n = sizeof(w)/sizeof(w[0]); | ^ molecules.cpp:7:32: error: invalid types 'int[int]' for array subscript 7 | for(int i=0; i<n; i++) v[i]={w[i], i}; | ^ molecules.cpp:7:38: error: no match for 'operator=' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} and '<brace-enclosed initializer list>') 7 | for(int i=0; i<n; i++) v[i]={w[i], i}; | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/char_traits.h:39, from /usr/include/c++/10/ios:40, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from molecules.cpp:1: /usr/include/c++/10/bits/stl_pair.h:390:7: note: candidate: 'std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type = const std::pair<int, int>&]' 390 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:393:41: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::conditional<true, const std::pair<int, int>&, const std::__nonesuch&>::type' {aka 'const std::pair<int, int>&'} 390 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 391 | __and_<is_copy_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 392 | is_copy_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | const pair&, const __nonesuch&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/stl_pair.h:401:7: note: candidate: 'std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type = std::pair<int, int>&&]' 401 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:404:31: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::conditional<true, std::pair<int, int>&&, std::__nonesuch&&>::type' {aka 'std::pair<int, int>&&'} 401 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 402 | __and_<is_move_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | is_move_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | pair&&, __nonesuch&&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/10/bits/stl_pair.h:418:2: note: candidate: 'template<class _U1, class _U2> typename std::enable_if<std::__and_<std::is_assignable<_T1&, const _U1&>, std::is_assignable<_T2&, const _U2&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 418 | operator=(const pair<_U1, _U2>& __p) | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:418:2: note: template argument deduction/substitution failed: molecules.cpp:7:38: note: couldn't deduce template parameter '_U1' 7 | for(int i=0; i<n; i++) v[i]={w[i], i}; | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/char_traits.h:39, from /usr/include/c++/10/ios:40, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from molecules.cpp:1: /usr/include/c++/10/bits/stl_pair.h:430:2: note: candidate: 'template<class _U1, class _U2> typename std::enable_if<std::__and_<std::is_assignable<_T1&, _U1&&>, std::is_assignable<_T2&, _U2&&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 430 | operator=(pair<_U1, _U2>&& __p) | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:430:2: note: template argument deduction/substitution failed: molecules.cpp:7:38: note: couldn't deduce template parameter '_U1' 7 | for(int i=0; i<n; i++) v[i]={w[i], i}; | ^ molecules.cpp:12:27: error: no match for 'operator+=' (operand types are 'int' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'}) 12 | for(int i=0; i<k; i++) s+=v[i]; molecules.cpp:17:12: warning: address of local variable 'sol' returned [-Wreturn-local-addr] 17 | return sol; | ^~~ molecules.cpp:15:9: note: declared here 15 | int sol[k]; | ^~~ molecules.cpp:18:11: error: 'i' was not declared in this scope 18 | }s=s+v[i]-v[i-k]; | ^ molecules.cpp:20:9: error: expected primary-expression before 'int' 20 | while(int i=k; i<n; i++) | ^~~ molecules.cpp:20:9: error: expected ')' before 'int' 20 | while(int i=k; i<n; i++) | ~^~~ | ) molecules.cpp:20:9: error: expected ';' before 'int' 20 | while(int i=k; i<n; i++) | ^~~ | ; molecules.cpp:20:19: warning: statement has no effect [-Wunused-value] 20 | while(int i=k; i<n; i++) | ~^~ molecules.cpp:20:26: error: expected ';' before ')' token 20 | while(int i=k; i<n; i++) | ^ | ; molecules.cpp:6:27: warning: control reaches end of non-void function [-Wreturn-type] 6 | vector<pair<int,int>> v(n); | ^