답안 #419339

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
419339 2021-06-07T01:12:15 Z freshmintt Job Scheduling (CEOI12_jobs) C++14
0 / 100
263 ms 26376 KB
#include<bits/stdc++.h>
#define MAXN 200005 //change. SET A SPACIOUS MAXN WHEN TESTING SO YOU DONT MESS UP WITH GARBAGE VALS OR SHIT
using namespace std;
typedef pair<long long,long long> pi;
typedef long long ll;
typedef long double ld;
ll N, D, M;

#define FIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
 
vector<ll> jobs;
vector<pi> jobs_save;
ll days[MAXN];
vector<ll> plan[MAXN];

bool make_plan(ll machs) {

  fill(days, days+MAXN, 0);

  for (int i=0; i < M; i++) {
    ll machID = i % machs;

    days[machID] = max(days[machID]+1, jobs_save[i].first); // ++ vs +1, obstructs with comparison.
    plan[days[machID]-1].push_back(jobs_save[i].second+1);
  }
  return true;
}

bool works(ll machs) {

  fill(days, days+MAXN, 0);

  for (int i=0; i < M; i++) {
    ll machID = i % machs;
    // cout << machID << " ";

    days[machID] = max(days[machID]+1, jobs[i]); // ++ vs +1, obstructs with comparison.
    if ((days[machID] - jobs[i]) > D){
      return false;
    }
  }
  return true;
}

int main() { 
  FIO;
  cin >> N >> D >> M;

  
  for (int i = 0; i < M; i ++) {
    ll a; cin >> a; jobs.push_back(a); jobs_save.push_back({a,i});
  }

  // cout << "0";
  // return 0;

  sort(jobs.begin(), jobs.end());
  sort(jobs_save.begin(), jobs_save.end());

  cout << "1";
  return 0;

  ll a = 1; ll b = 1E9; ll mid;
  while (a != b) {
    mid = (a+b)/2;
    // cout << a << " and " << mid << " and " << b<< endl;

    if (works(mid)) {
      b = mid;
    }
    else {
      a = mid + 1;
    }
  }

  cout << a << endl;

  make_plan(a);
  for (ll i = 0; i < N; i++) {
    for (auto i : plan[i]) {
      cout << i << " ";
    }
    cout << "0" << endl;

  }
}   
# 결과 실행 시간 메모리 Grader output
1 Incorrect 17 ms 7736 KB Output isn't correct
2 Incorrect 21 ms 7736 KB Output isn't correct
3 Incorrect 18 ms 7736 KB Output isn't correct
4 Incorrect 18 ms 7760 KB Output isn't correct
5 Incorrect 18 ms 7736 KB Output isn't correct
6 Incorrect 18 ms 7736 KB Output isn't correct
7 Incorrect 17 ms 7736 KB Output isn't correct
8 Incorrect 17 ms 7704 KB Output isn't correct
9 Incorrect 27 ms 7808 KB Output isn't correct
10 Incorrect 29 ms 7792 KB Output isn't correct
11 Incorrect 30 ms 7736 KB Output isn't correct
12 Incorrect 58 ms 10296 KB Output isn't correct
13 Incorrect 88 ms 15428 KB Output isn't correct
14 Incorrect 123 ms 15528 KB Output isn't correct
15 Incorrect 142 ms 16908 KB Output isn't correct
16 Incorrect 188 ms 25668 KB Output isn't correct
17 Incorrect 226 ms 25792 KB Output isn't correct
18 Incorrect 236 ms 25796 KB Output isn't correct
19 Incorrect 263 ms 26376 KB Output isn't correct
20 Incorrect 220 ms 25768 KB Output isn't correct