# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
694184 | vjudge1 | Job Scheduling (CEOI12_jobs) | C++17 | 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;
#define pb push_back
#define all(s) s.begin(), s.end()
#ifndef LOCALDEBUG
#define LOCALDEBUG false
#endif
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;
int n, d, m;
vector<request> requestsOnDay[(int)1e6 + 1];
struct request
{
int day, id;
};
bool operator<(request &a, request &b)
{
return a.day >= b.day;
}
bool check(int machines)
{
priority_queue<request> active;
for (int i = 1; i <= n; i++)
{
// get new requests
for (request r : requestsOnDay[i])
active.push(r);
int mm = machines;
while (!active.empty() && mm--)
{
int cur = active.top().day;
if (cur + d < i)
return false;
else
active.pop();
}
}
return active.size() == 0;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> d >> m;
for (int i = 0; i < m; i++)
{
int x;
cin >> x;
requestsOnDay[x].pb({x, i});
}
int lo = 1, hi = 1e6;
while (lo < hi)
{
int mid = (lo + hi) / 2;
if (check(mid))
hi = mid - 1;
else
lo = mid + 1;
}
cout << lo << '\n';
}
Compilation message (stderr)
jobs.cpp:14:8: error: 'request' was not declared in this scope 14 | vector<request> requestsOnDay[(int)1e6 + 1]; | ^~~~~~~ jobs.cpp:14:15: error: template argument 1 is invalid 14 | vector<request> requestsOnDay[(int)1e6 + 1]; | ^ jobs.cpp:14:15: error: template argument 2 is invalid jobs.cpp: In function 'bool check(int)': jobs.cpp:32:41: error: 'begin' was not declared in this scope 32 | for (request r : requestsOnDay[i]) | ^ jobs.cpp:32:41: note: suggested alternatives: In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from jobs.cpp:1: /usr/include/c++/10/valarray:1224:5: note: 'std::begin' 1224 | begin(const valarray<_Tp>& __va) | ^~~~~ In file included from /usr/include/c++/10/filesystem:46, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:129, from jobs.cpp:1: /usr/include/c++/10/bits/fs_dir.h:549:3: note: 'std::filesystem::__cxx11::begin' 549 | begin(recursive_directory_iterator __iter) noexcept | ^~~~~ jobs.cpp:32:41: error: 'end' was not declared in this scope 32 | for (request r : requestsOnDay[i]) | ^ jobs.cpp:32:41: note: suggested alternatives: In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95, from jobs.cpp:1: /usr/include/c++/10/valarray:1244:5: note: 'std::end' 1244 | end(const valarray<_Tp>& __va) | ^~~ In file included from /usr/include/c++/10/filesystem:46, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:129, from jobs.cpp:1: /usr/include/c++/10/bits/fs_dir.h:554:3: note: 'std::filesystem::__cxx11::end' 554 | end(recursive_directory_iterator) noexcept | ^~~ jobs.cpp: In function 'int main()': jobs.cpp:3:12: error: request for member 'push_back' in 'requestsOnDay[x]', which is of non-class type 'int' 3 | #define pb push_back | ^~~~~~~~~ jobs.cpp:59:26: note: in expansion of macro 'pb' 59 | requestsOnDay[x].pb({x, i}); | ^~ In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h: In instantiation of 'constexpr bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = request]': /usr/include/c++/10/bits/predefined_ops.h:194:23: required from 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<request*, std::vector<request, std::allocator<request> > >; _Value = request; _Compare = std::less<request>]' /usr/include/c++/10/bits/stl_heap.h:139:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<request*, std::vector<request, std::allocator<request> > >; _Distance = long int; _Tp = request; _Compare = __gnu_cxx::__ops::_Iter_comp_val<std::less<request> >]' /usr/include/c++/10/bits/stl_heap.h:215:23: required from 'void std::push_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<request*, std::vector<request, std::allocator<request> > >; _Compare = std::less<request>]' /usr/include/c++/10/bits/stl_queue.h:643:16: required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = request; _Sequence = std::vector<request, std::allocator<request> >; _Compare = std::less<request>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = request]' jobs.cpp:33:26: required from here /usr/include/c++/10/bits/stl_function.h:386:20: error: no match for 'operator<' (operand types are 'const request' and 'const request') 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from jobs.cpp:1: /usr/include/c++/10/bits/stl_pair.h:489:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)' 489 | operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:489:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::pair<_T1, _T2>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from jobs.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:366:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)' 366 | operator<(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:366:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::reverse_iterator<_Iterator>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from jobs.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:404:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)' 404 | operator<(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:404:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::reverse_iterator<_Iterator>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from jobs.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:1451:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)' 1451 | operator<(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1451:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::move_iterator<_IteratorL>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from jobs.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:1507:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)' 1507 | operator<(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1507:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::move_iterator<_IteratorL>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/basic_string.h:48, from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/string_view:544:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)' 544 | operator< (basic_string_view<_CharT, _Traits> __x, | ^~~~~~~~ /usr/include/c++/10/string_view:544:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'request' is not derived from 'std::basic_string_view<_CharT, _Traits>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/basic_string.h:48, from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/string_view:550:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >)' 550 | operator< (basic_string_view<_CharT, _Traits> __x, | ^~~~~~~~ /usr/include/c++/10/string_view:550:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'request' is not derived from 'std::basic_string_view<_CharT, _Traits>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/bits/basic_string.h:48, from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/string_view:557:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >, std::basic_string_view<_CharT, _Traits>)' 557 | operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x, | ^~~~~~~~ /usr/include/c++/10/string_view:557:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'request' is not derived from 'std::basic_string_view<_CharT, _Traits>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/basic_string.h:6267:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 6267 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6267:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/10/string:48, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, 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 jobs.cpp:1: /usr/include/c++/10/bits/stl_function.h:386:20: note: 'const request' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 386 | { return __x < __y; } | ~~~~^~~~~ In file included from /usr/includ