Submission #419347

#TimeUsernameProblemLanguageResultExecution timeMemory
419347freshminttJob Scheduling (CEOI12_jobs)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #define MAXN 1000005 //change. SET A SPACIOUS MAXN WHEN TESTING SO YOU DONT MESS UP WITH GARBAGE VALS OR SHIT using namespace std; typedef pair<long long,long long> pi; typedef int ll; typedef long double ld; ll N, D, M; #define FIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); vector<ll> jobs; vector<pi> jobs_save; ll days[MAXN]; vector<ll> plan[MAXN]; bool make_plan(ll machs) { fill(days, days+MAXN, 0); for (int i=0; i < M; i++) { ll machID = i % machs; days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison. plan[days[machID]-1].push_back(jobs_save[i].second+1); } return true; } bool works(ll machs) { fill(days, days+MAXN, 0); for (int i=0; i < M; i++) { ll machID = i % machs; // cout << machID << " "; days[machID] = max(days[machID]+1, jobs[i]); // ++ vs +1, obstructs with comparison. if ((days[machID] - jobs[i]) > D){ return false; } } return true; } int main() { FIO; cin >> N >> D >> M; for (int i = 0; i < M; i ++) { ll a; cin >> a; jobs.push_back(a); jobs_save.push_back({a,i}); } sort(jobs.begin(), jobs.end()); sort(jobs_save.begin(), jobs_save.end()); ll a = 1; ll b = 1E6; ll mid; while (a != b) { mid = (a+b)/2; // cout << a << " and " << mid << " and " << b<< endl; if (works(mid)) { b = mid; } else { a = mid + 1; } } cout << a << endl; make_plan(a); for (ll i = 0; i < N; i++) { for (auto i : plan[i]) { cout << i << " "; } cout << "0" << endl; } }

Compilation message (stderr)

jobs.cpp: In function 'bool make_plan(ll)':
jobs.cpp:23:58: error: no matching function for call to 'max(ll, long long int&)'
   23 |     days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
      |                                                          ^
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 jobs.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
jobs.cpp:23:58: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   23 |     days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
      |                                                          ^
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 jobs.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
jobs.cpp:23:58: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   23 |     days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
      |                                                          ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from jobs.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
jobs.cpp:23:58: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   23 |     days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
      |                                                          ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from jobs.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
jobs.cpp:23:58: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   23 |     days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
      |                                                          ^