Submission #791454

#TimeUsernameProblemLanguageResultExecution timeMemory
791454I_FloPPed21Job Scheduling (CEOI12_jobs)C++17
55 / 100
174 ms7460 KiB
#include <bits/stdc++.h>

using namespace std;

long long n, d, m ;
long long v [ 1000005 ];

bool check(long long caz )
{
    int ziua = 1 ;

    for ( int i = 1; i <= m ; i += caz, ziua ++  )
    {
        if ( v[ i ] < ziua )
            return false ;

    }

    return true ;
}
int main()
{
    cin >> n >> d >> m ;

    for ( int i = 1; i <= m ; i ++ )
    {
        cin >> v[ i ] ;
        v [ i ] += d ;
    }

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

    long long poz = 1e9 ;

    int st = 1, dr = m ;

    while ( st <= dr )
    {
        long long mij = ( st + dr ) / 2 ;
        if ( check ( mij ) == true )
        {
            poz = mij ;
            dr = mij - 1;
        }
        else
            st = mij + 1;
    }

    cout << poz << '\n' ;


    for ( int i = 1; i <= n ; i ++ )
        cout << 0 << '\n';

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