Submission #743200

# Submission time Handle Problem Language Result Execution time Memory
743200 2023-05-17T08:49:34 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
0 / 100
1000 ms 29340 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 31 ms 3784 KB Output isn't correct
2 Incorrect 32 ms 3736 KB Output isn't correct
3 Incorrect 29 ms 3784 KB Output isn't correct
4 Incorrect 33 ms 3740 KB Output isn't correct
5 Incorrect 28 ms 3784 KB Output isn't correct
6 Incorrect 27 ms 3784 KB Output isn't correct
7 Incorrect 28 ms 3784 KB Output isn't correct
8 Incorrect 30 ms 3784 KB Output isn't correct
9 Incorrect 31 ms 3768 KB Output isn't correct
10 Incorrect 32 ms 3784 KB Output isn't correct
11 Incorrect 33 ms 3712 KB Output isn't correct
12 Incorrect 155 ms 7276 KB Output isn't correct
13 Incorrect 113 ms 13060 KB Output isn't correct
14 Execution timed out 1089 ms 14172 KB Time limit exceeded
15 Incorrect 187 ms 16668 KB Output isn't correct
16 Incorrect 223 ms 25800 KB Output isn't correct
17 Incorrect 647 ms 26972 KB Output isn't correct
18 Incorrect 336 ms 28200 KB Output isn't correct
19 Incorrect 323 ms 29340 KB Output isn't correct
20 Incorrect 625 ms 26944 KB Output isn't correct