Submission #239337

#TimeUsernameProblemLanguageResultExecution timeMemory
239337dCodingJob Scheduling (CEOI12_jobs)C++14
Compilation error
0 ms0 KiB
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> #include <iostream> #include <iomanip> #include <vector> #include <algorithm> #include <numeric> #include <set> #include <map> #include <stack> #include <queue> #include <deque> #include <unordered_map> #define ll long long int #define F0R(i,n) for(auto i = 0; i < (n); i++) #define FOR(i,a,b) for(auto i = (a); i <= (b); i++) #define ROF(i,a,b) for(auto i = (a); i >= (b); i--) #define pii pair<int,int> #define pll pair<ll,ll> #define vv vector #define F first #define S second #define pb push_back #define vi vector<int> using namespace std; const int MAXM = 1e6+5; int n,d,m; pii a[MAXM]; vi ans[MAXM]; bool valid(int machines) { int mIdx = 1; queue<pii> q; FOR(i,1,n)ans[i].clear(); FOR(i,1,n) { while(midx <= m && a[mIdx].F == i) { q.push(a[mIdx]); mIdx++; } while(!q.empty() && ans[i].size() < machines) { if(q.front().F+d < i)return false; ans[i].pb(q.front().S); q.pop(); } } return q.empty(); } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> d >> m; FOR(i,1,m) cin >> a[i].F; FOR(i,1,m)a[i].S = i; sort(a+1,a+m+1); int lo = 1,hi = m,mid; while(lo < hi) { mid = lo+hi >> 1; if(valid(mid)) { hi = mid; } else { lo = mid+1; } } assert(lo == hi); int machines = lo; valid(machines); cout << machines << "\n"; FOR(i,1,n) { for(auto j:ans[i]) cout << j << " "; cout << "0\n"; } }

Compilation message (stderr)

jobs.cpp: In function 'bool valid(int)':
jobs.cpp:41:9: error: 'midx' was not declared in this scope
   while(midx <= m && a[mIdx].F == i) {
         ^~~~
jobs.cpp:41:9: note: suggested alternative: 'mIdx'
   while(midx <= m && a[mIdx].F == i) {
         ^~~~
         mIdx
jobs.cpp:45:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(!q.empty() && ans[i].size() < machines) {
                       ~~~~~~~~~~~~~~^~~~~~~~~~
jobs.cpp: In function 'int main()':
jobs.cpp:64:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   mid = lo+hi >> 1;
         ~~^~~