제출 #462303

#제출 시각아이디문제언어결과실행 시간메모리
462303dqkJob Scheduling (CEOI12_jobs)C++17
70 / 100
851 ms59476 KiB
 #include <bits/stdc++.h>
 int main() {
      std::ios_base::sync_with_stdio(false);     
std::cin.tie(nullptr);
      int N, D, M;
      std::cin >> N >> D >> M;
      std::vector<std::vector<int>> a(M, std::vector<int>(2));
      for (int i = 0; i < M; ++i) {
          std::cin >> a[i][0];
          a[i][1] = i + 1;
      }
      sort(a.begin(), a.end());
      std::vector<int> b(M);
      for (int i = 0; i < a.size(); ++i)
          b[i] = a[i][0];
      int lo = 1, hi = 1e9;
      while (lo < hi) {
          int mi = (lo + hi) / 2;
          int task = 0;
          bool ok = true;
          for (int i = 1; i <= N && ok; ++i) {
              int u = std::upper_bound(b.begin(), b.end(), i) - b.begin();
              int v = std::lower_bound(b.begin(), b.end(), i - D) - b.begin();
              if (task < v)
                  ok = false;
              task = std::min(task + mi, u);
          }
          if (ok)
              hi = mi;
          else
              lo = mi + 1;
      }
      std::cout << lo << "\n";
      int task = 0;
      for (int i = 1; i <= N; ++i) {
          int cur = 0;
          while (task < M && i >= a[task][0] && i <= a[task][0] + D && cur < lo) {
              std::cout << a[task][1] << " ";
              task++, cur++;
          }
          std::cout << 0 << "\n";
      }
      return 0;
 }

컴파일 시 표준 에러 (stderr) 메시지

jobs.cpp: In function 'int main()':
jobs.cpp:14:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |       for (int i = 0; i < a.size(); ++i)
      |                       ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...