Submission #1029374

#TimeUsernameProblemLanguageResultExecution timeMemory
1029374XJP12Boxes with souvenirs (IOI15_boxes)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
int delivery(int n, int k, int l, vi positions){
	if(k==1){
		int ans=0;
		for(int i=0; i<n; i++){
			ans+=min(positions[i],n-positions[i])*2;
		}
		return ans;
	}
	if(k==n){
		int x = lower_bound(positions.begin(), positions.end()) - positions.begin();
		int y = upper_bound(positions.begin(), positions.end()) - positions.begin();
		x--;
		int ans=0;
		ans+=x*2;
		ans+=(n-y)*2;
		ans=min(l, ans);
		return ans;
	}
}

Compilation message (stderr)

boxes.cpp: In function 'int delivery(int, int, int, vi)':
boxes.cpp:13:57: error: no matching function for call to 'lower_bound(std::vector<int>::iterator, std::vector<int>::iterator)'
   13 |   int x = lower_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
In file included 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 boxes.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:1350:5: note: candidate: 'template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)'
 1350 |     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
/usr/include/c++/10/bits/stl_algobase.h:1350:5: note:   template argument deduction/substitution failed:
boxes.cpp:13:57: note:   candidate expects 3 arguments, 2 provided
   13 |   int x = lower_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:2031:5: note: candidate: 'template<class _FIter, class _Tp, class _Compare> _FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare)'
 2031 |     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
/usr/include/c++/10/bits/stl_algo.h:2031:5: note:   template argument deduction/substitution failed:
boxes.cpp:13:57: note:   candidate expects 4 arguments, 2 provided
   13 |   int x = lower_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
boxes.cpp:14:57: error: no matching function for call to 'upper_bound(std::vector<int>::iterator, std::vector<int>::iterator)'
   14 |   int y = upper_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:2087:5: note: candidate: 'template<class _FIter, class _Tp> _FIter std::upper_bound(_FIter, _FIter, const _Tp&)'
 2087 |     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
/usr/include/c++/10/bits/stl_algo.h:2087:5: note:   template argument deduction/substitution failed:
boxes.cpp:14:57: note:   candidate expects 3 arguments, 2 provided
   14 |   int y = upper_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:2118:5: note: candidate: 'template<class _FIter, class _Tp, class _Compare> _FIter std::upper_bound(_FIter, _FIter, const _Tp&, _Compare)'
 2118 |     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
/usr/include/c++/10/bits/stl_algo.h:2118:5: note:   template argument deduction/substitution failed:
boxes.cpp:14:57: note:   candidate expects 4 arguments, 2 provided
   14 |   int y = upper_bound(positions.begin(), positions.end()) - positions.begin();
      |                                                         ^
boxes.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type]
   22 | }
      | ^