Submission #254444

#TimeUsernameProblemLanguageResultExecution timeMemory
254444shrek12357Job Scheduling (CEOI12_jobs)C++14
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <climits>
#include <cmath>
#include <fstream>
#include <queue>
using namespace std;

int main() {
	int n, d, m;
	cin >> n >> d >> m;
	vector<int> nums(n);
	vector<pair<int, int>> cows;
	for (int i = 0; i < m; i++) {
		int temp;
		cin >> temp;
		temp--;
		nums[temp]++;
		cows.insert(make_pair(temp, i + 1));
	}
	int lo = 0;
	int hi = 1000005;
	while (lo < hi) {
		int mid = (lo + hi) / 2;
		vector<int> temp = nums;
		int idx = 0;
		bool bad = false;
		for (int i = 0; i < n; i++) {
			if (idx + d < i && idx != n - d) {
				bad = true;
				break;
			}
			int tCounter = mid;
			while (idx <= i && tCounter > 0) {
				if (idx == n - d) {
					break;
				}
				if (temp[idx] > tCounter) {
					temp[idx] -= tCounter;
					break;
				}
				else {
					tCounter -= temp[idx];
					temp[idx] = 0;
					idx++;
				}
			}
		}
		if (!bad) {
			hi = mid;
		}
		else {
			lo = mid + 1;
		}
	}
	cout << hi << endl;
	/*
	int ans = 0;
	int countDays = 0;
	for (int i = 0; i < n; i++) {
		for (auto p : cows[i]) {
			cout << p << " ";
			ans++;
			if (ans == hi) {
				ans = 0;
				cout << 0 << endl;
				countDays++;
			}
		}
	}
	for (int i = 0; i < n - countDays; i++) {
		cout << 0 << endl;
	}
	*/
}

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:23:37: error: no matching function for call to 'std::vector<std::pair<int, int> >::insert(std::pair<int, int>)'
   cows.insert(make_pair(temp, i + 1));
                                     ^
In file included from /usr/include/c++/7/vector:69:0,
                 from jobs.cpp:2:
/usr/include/c++/7/bits/vector.tcc:114:5: note: candidate: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename std::_Vector_base<_Tp, _Alloc>::pointer = std::pair<int, int>*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename __gnu_cxx::__alloc_traits<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_pointer = const std::pair<int, int>*; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>]
     vector<_Tp, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/vector.tcc:114:5: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/7/vector:64:0,
                 from jobs.cpp:2:
/usr/include/c++/7/bits/stl_vector.h:1042:7: note: candidate: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename std::_Vector_base<_Tp, _Alloc>::pointer = std::pair<int, int>*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename __gnu_cxx::__alloc_traits<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_pointer = const std::pair<int, int>*; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>]
       insert(const_iterator __position, value_type&& __x)
       ^~~~~~
/usr/include/c++/7/bits/stl_vector.h:1042:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/7/bits/stl_vector.h:1059:7: note: candidate: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::initializer_list<_Tp>) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename std::_Vector_base<_Tp, _Alloc>::pointer = std::pair<int, int>*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename __gnu_cxx::__alloc_traits<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_pointer = const std::pair<int, int>*]
       insert(const_iterator __position, initializer_list<value_type> __l)
       ^~~~~~
/usr/include/c++/7/bits/stl_vector.h:1059:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/7/bits/stl_vector.h:1084:7: note: candidate: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename std::_Vector_base<_Tp, _Alloc>::pointer = std::pair<int, int>*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; typename __gnu_cxx::__alloc_traits<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_pointer = const std::pair<int, int>*; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>]
       insert(const_iterator __position, size_type __n, const value_type& __x)
       ^~~~~~
/usr/include/c++/7/bits/stl_vector.h:1084:7: note:   candidate expects 3 arguments, 1 provided
/usr/include/c++/7/bits/stl_vector.h:1128:2: note: candidate: template<class _InputIterator, class> std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >]
  insert(const_iterator __position, _InputIterator __first,
  ^~~~~~
/usr/include/c++/7/bits/stl_vector.h:1128:2: note:   template argument deduction/substitution failed:
jobs.cpp:23:37: note:   candidate expects 3 arguments, 1 provided
   cows.insert(make_pair(temp, i + 1));
                                     ^