Submission #48454

#TimeUsernameProblemLanguageResultExecution timeMemory
48454IvanCJob Scheduling (CEOI12_jobs)C++17
55 / 100
370 ms15372 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; vector<ii> pares; int N,D,M; int checa(int X){ int disponivel = X; int dia = 1; for(int i = 0;i<M;i++){ if(disponivel == 0){ dia++; disponivel = X; } if(pares[i].first + D < dia) return 0; disponivel--; } return 1; } int main(){ scanf("%d %d %d",&N,&D,&M); for(int i = 1;i<=M;i++){ int x; scanf("%d",&x); pares.push_back(ii(x,i)); } sort(pares.begin(),pares.end()); int ini = 1,fim = M,meio,resp; while(ini <= fim){ meio = ini + (fim - ini)/2; if(checa(meio)){ resp = meio; fim = meio - 1; } else{ ini = meio + 1; } } printf("%d\n",resp); int disponivel = resp,dia = 1; for(int i = 0;i<M;i++){ if(disponivel == 0){ printf("0\n"); disponivel = resp; dia++; } printf("%d ",pares[i].second); disponivel--; } while(dia <= N){ printf("0\n"); dia++; } return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:27:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d",&N,&D,&M);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
jobs.cpp:31:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&x);
   ~~~~~^~~~~~~~~
jobs.cpp:59:13: warning: 'resp' may be used uninitialized in this function [-Wmaybe-uninitialized]
   disponivel--;
   ~~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...