답안 #1085613

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1085613 2024-09-08T13:26:09 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
20 / 100
281 ms 17464 KB
#include <bits/stdc++.h>

using namespace std;
int n,d,m;
vector<int> v;
int freq[100001];

bool moze(int k)
{
    int utre=0;
    for (int den=1;den<=n;den++)
    {
        int rabota_denes = freq[den] + utre;
        int potrebno = rabota_denes/k;
        if (rabota_denes%k>0) potrebno++;
        if (potrebno-1>d) return false;
        utre = rabota_denes-k;
    }
    if (utre>0) return false;

    return true;
}

int bs(int l,int r)
{
    if (l==r) return l;
    int mid = (l+r)/2;
    if (moze(mid)) return bs(l,mid);
    else return bs(mid+1,r);
}

void pecati(int k)
{
    vector<pair<int,int> > q;
    for (int i=0;i<v.size();i++) q.push_back({v[i],i+1});
    sort(q.begin(),q.end());
    int den=1,koristeni=0;
    for (int i=0;i<q.size();i++)
    {
        if (koristeni==k)
        {
            koristeni=0;
            den++;
            cout<<0<<endl;
        }
        int x = q[i].first,it=q[i].second;

        if (den<x)
        {
            while(den<x)
            {
                den++;
                cout<<0<<endl;
            }
        }
        koristeni++;
        cout<<it<<" ";
    }
    while(den<=n)
    {
        cout<<0<<endl;
        den++;
    }

}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>d>>m;
    for (int i=0;i<m;i++)
    {
        int a;
        cin>>a;
        freq[a]++;
        v.push_back(a);
    }

    int odg = bs(1,m);
    cout<<odg<<endl;
    pecati(odg);
    return 0;
}

Compilation message

jobs.cpp: In function 'void pecati(int)':
jobs.cpp:35:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for (int i=0;i<v.size();i++) q.push_back({v[i],i+1});
      |                  ~^~~~~~~~~
jobs.cpp:38:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     for (int i=0;i<q.size();i++)
      |                  ~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 2396 KB Output isn't correct
2 Incorrect 23 ms 2140 KB Output isn't correct
3 Incorrect 22 ms 2140 KB Output isn't correct
4 Incorrect 22 ms 2396 KB Output isn't correct
5 Incorrect 23 ms 2140 KB Output isn't correct
6 Incorrect 24 ms 2140 KB Output isn't correct
7 Incorrect 23 ms 2392 KB Output isn't correct
8 Incorrect 22 ms 2364 KB Output isn't correct
9 Incorrect 123 ms 2556 KB Output isn't correct
10 Incorrect 122 ms 2388 KB Output isn't correct
11 Correct 19 ms 2140 KB Output is correct
12 Correct 40 ms 4136 KB Output is correct
13 Correct 64 ms 6988 KB Output is correct
14 Correct 90 ms 8544 KB Output is correct
15 Incorrect 96 ms 9636 KB Output isn't correct
16 Incorrect 127 ms 12100 KB Output isn't correct
17 Incorrect 157 ms 14900 KB Output isn't correct
18 Incorrect 162 ms 16036 KB Output isn't correct
19 Incorrect 281 ms 17464 KB Output isn't correct
20 Incorrect 155 ms 14316 KB Output isn't correct