답안 #1003377

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1003377 2024-06-20T09:28:26 Z AtinaR Job Scheduling (CEOI12_jobs) C++14
95 / 100
284 ms 34684 KB
#include <bits/stdc++.h>

using namespace std;
const int MAX=1e6+10;
const int N=1e5+10;
pair<long long,long long> niza[MAX];
long long n,d,m;
vector<long long> ress[N];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    cin>>n>>d>>m;
    for(long long i=0; i<m; i++)
    {
        cin>>niza[i].first;
        niza[i].second=i+1;
    }
    sort(niza,niza+m);
    long long b=0,e=m+1,i=0;
    bool flag=true;
    long long res=0;
    while(b<=e)
    {
        long long mid=(b+e)/2;
        if(mid==0)
        {
            b=mid+1;
            continue;
        }
        i=0;
        flag=true;
        for(int day=1; day<=n; day++)
        {
            for(int j=0; j<mid; j++)
            {
                if(i>=m)break;
                if(niza[i].first>day)break;
                if(niza[i].first+d<day)
                {
                    flag=false;
                    break;
                }
                i++;
            }
            if(!flag)break;
        }
        if(flag)
        {
            res=mid;
            e=mid-1;
        }
        else b=mid+1;
    }
    cout<<res<<endl;
    i=0;
    for(int day=1; day<=n; day++)
    {
        for(int j=0; j<res; j++)
        {
            if(i>=m)break;
            if(niza[i].first>day)break;
            ress[day].push_back(niza[i].second);
            i++;
        }
    }
    for(long long i=1; i<=n; i++)
    {
        for(auto x:ress[i])cout<<x<<" ";
        cout<<0<<endl;
    }
    return 0;
}
/*

8 2 12
1 2 4 2 1 3 5 6 2 3 6 4
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 20 ms 5984 KB Output is correct
2 Correct 20 ms 5984 KB Output is correct
3 Correct 23 ms 5980 KB Output is correct
4 Correct 24 ms 6084 KB Output is correct
5 Correct 20 ms 5984 KB Output is correct
6 Correct 23 ms 5984 KB Output is correct
7 Correct 23 ms 5984 KB Output is correct
8 Correct 25 ms 6124 KB Output is correct
9 Correct 104 ms 6228 KB Output is correct
10 Correct 108 ms 6192 KB Output is correct
11 Correct 21 ms 6224 KB Output is correct
12 Correct 47 ms 9768 KB Output is correct
13 Correct 68 ms 14516 KB Output is correct
14 Correct 84 ms 18648 KB Output is correct
15 Correct 92 ms 19808 KB Output is correct
16 Correct 123 ms 24220 KB Output is correct
17 Correct 152 ms 31824 KB Output is correct
18 Correct 160 ms 31924 KB Output is correct
19 Runtime error 284 ms 34684 KB Memory limit exceeded
20 Correct 158 ms 31680 KB Output is correct