Submission #392795

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

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

int verif (int val){

    for (int i=1;i<=m;i++)
        ans[i].clear();

    int pos = 1;
    for (int i=1;i<=m;i++){
        /// ce fac in ziua i?
        int cnt = 0;
        while (pos <= n && v[pos].first <= i && cnt < val){

            if (v[pos].first + d < i)
                return 0;

            ans[i].push_back(v[pos].second);
            cnt++;

            pos++;
        }
    }

    return 1;
}

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);

    int st = 1, dr = n, sol;
    while (st <= dr){
        int mid = (st+dr)>>1;
        if (verif(mid)){
            sol = mid;
            dr = mid-1;
        } else st = mid+1;
    }

    cout<<sol<<"\n";
    verif (sol);

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



    return 0;
}

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:56:16: warning: 'sol' may be used uninitialized in this function [-Wmaybe-uninitialized]
   56 |     cout<<sol<<"\n";
      |                ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...