Submission #392783

#TimeUsernameProblemLanguageResultExecution timeMemory
392783nicolaalexandraJob Scheduling (CEOI12_jobs)C++14
40 / 100
506 ms20164 KiB
#include <bits/stdc++.h>
#define DIM 1000010
#define DIMN 100010
using namespace std;

priority_queue <int,vector<int>,greater<int> > h;
pair <int,int> v[DIM];
vector <int> ans[DIMN];
int n,d,m,i;

int main (){

    //ifstream cin ("date.in");
    //ofstream cout ("date.out");

    cin>>m>>d>>n;
    for (i=1;i<=n;i++){
        cin>>v[i].first;
        v[i].second = i;
    }

    sort (v+1,v+n+1);

    h.push(1);
    for (i=1;i<=n;i++){
        int day = h.top();

        if (day > v[i].first + d){
            /// mai adaug o masina
            h.push(v[i].first+1);
            ans[v[i].first].push_back(v[i].second);
        } else {
            h.pop();
            ans[max(day,v[i].first)].push_back(v[i].second);
            h.push(max(day+1,v[i].first+1));
        }

    }

    cout<<h.size()<<"\n";

    for (i=1;i<=m;i++){
        for (auto it : ans[i])
            cout<<it<<" ";
        cout<<"0\n";
    }



    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...