Submission #742974

# Submission time Handle Problem Language Result Execution time Memory
742974 2023-05-17T07:07:05 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
0 / 100
1000 ms 29252 KB
#include<bits/stdc++.h>

using namespace std;

struct deads
{
    int day,work,dead;
    bool operator<(const deads&d2)const{
        return day<d2.day;
    }
};

vector<deads> vc,copys;
int n,d,m,a,l = 1,r = 1e9,ans = 1e9+7;

int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0);
    cin>>n>>d>>m;
    for(int i = 1; i<=m; ++i){
        cin>>a;
        vc.push_back({a,i,a+d});
    }
    sort(vc.begin(), vc.end());
    for(auto [day,work,dead]:vc){
        copys.push_back({day,work,dead});
    }
    while(l<r){
        int mid = (l+r)>>1;
        int cnt = 0;
        bool ck = 0;
        for(int i = 0; i<vc.size(); ++i){
            if(vc[i].day==vc[i].dead){
                ck = 1;
                break;
            }
            ++cnt;
            if(cnt==mid){
                cnt = 0;
                for(int j = i+1; j<vc.size(); ++j){
                    vc[j].day++;
                    if(vc[j].day==vc[j].dead){
                        ck = 1;
                        break;
                    }
                }
            }
            if(ck) break;
        }
        if(ck) l = mid+1;
        else r = mid;
        vc = copys;
    }
    int k = m/l+(m%l!=0);
    cout<<k<<"\n";
    int cnt = 0,c = 0;
    for(auto [day,work,dead]:vc){
        if(cnt==k){
            cnt = 0;
            ++c;
            cout<<0<<"\n";
        }
        ++cnt;
        cout<<work<<" ";
    }
    if(c!=m) cout<<0<<"\n";
    for(int i = 0; i<n-l; ++i) cout<<0<<"\n";
}

Compilation message

jobs.cpp: In function 'int main()':
jobs.cpp:32:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<deads>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for(int i = 0; i<vc.size(); ++i){
      |                        ~^~~~~~~~~~
jobs.cpp:40:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<deads>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |                 for(int j = i+1; j<vc.size(); ++j){
      |                                  ~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 3784 KB Output isn't correct
2 Incorrect 31 ms 3816 KB Output isn't correct
3 Incorrect 31 ms 3800 KB Output isn't correct
4 Incorrect 31 ms 3784 KB Output isn't correct
5 Incorrect 31 ms 3784 KB Output isn't correct
6 Incorrect 39 ms 3784 KB Output isn't correct
7 Incorrect 30 ms 3812 KB Output isn't correct
8 Incorrect 29 ms 3800 KB Output isn't correct
9 Incorrect 31 ms 3784 KB Output isn't correct
10 Incorrect 38 ms 3912 KB Output isn't correct
11 Incorrect 36 ms 3764 KB Output isn't correct
12 Incorrect 171 ms 7228 KB Output isn't correct
13 Incorrect 104 ms 13016 KB Output isn't correct
14 Execution timed out 1092 ms 14124 KB Time limit exceeded
15 Incorrect 177 ms 16544 KB Output isn't correct
16 Incorrect 231 ms 25816 KB Output isn't correct
17 Incorrect 666 ms 26908 KB Output isn't correct
18 Incorrect 334 ms 28188 KB Output isn't correct
19 Incorrect 317 ms 29252 KB Output isn't correct
20 Incorrect 637 ms 26964 KB Output isn't correct