Submission #416229

#TimeUsernameProblemLanguageResultExecution timeMemory
416229iulia13Job Scheduling (CEOI12_jobs)C++14
0 / 100
497 ms23324 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int M = 1e6 + 6;
const int N = 1e5 + 5;
pair <int, int> v[M];
vector <int> ans[N];
int main()
{
    int n, d, m, i;
    cin >> n >> d >> m;
    for (i = 1; i <= m; i++)
    {
        cin >> v[i].first;
        v[i].second = i;
    }
    sort(v + 1, v + m + 1);
    int st = 1, dr = m, sol;
    while (st <= dr)
    {
        int mid = (st + dr) / 2;
        int bad = 0, day = 1;
        i = 1;
        while (i <= m && !bad)
        {
            int c = 0;
            while (!bad && c < mid && day >= v[i].first && i <= m)
            {
                if (v[i].first + d < day)
                   bad = 1;
                c++;
                i++;
            }
            day++;
        }
        if (i <= m || bad)
            st = mid + 1;
        else
        {
            sol = mid;
            dr =  mid - 1;
        }
    }
    cout << sol;
    int day = 1;
    i = 1;
    while (i <= m)
    {
        int c = 0;
        while (c < sol && day >= v[i].first && i <= m)
        {
            ans[day].push_back(v[i].second);
            c++;
            i++;
        }
        ans[day].push_back(0);
        day++;
    }
    while (day <= n)
    {
        ans[day].push_back(0);
        day++;
    }
    for (i = 1; i <= n; i++)
    {
        cout << '\n';
        for (int j = 0; j < ans[i].size(); j++)
            cout << ans[i][j] << " ";
    }
    cout << '\n';
    return 0;
}

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:68:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for (int j = 0; j < ans[i].size(); j++)
      |                         ~~^~~~~~~~~~~~~~~
jobs.cpp:19:25: warning: 'sol' may be used uninitialized in this function [-Wmaybe-uninitialized]
   19 |     int st = 1, dr = m, sol;
      |                         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...