Advertisement
Diene

Untitled

Dec 24th, 2018
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. #define MAXN 10100
  5.  
  6. using namespace std;
  7.  
  8. struct compromisso {
  9.   int ini, fim;
  10. }; // declaro a sruct compromisso
  11.  
  12. // declaro a função que compara compromissos pelo horário de fim
  13. bool compara(compromisso a, compromisso b){
  14.   return a.fim<b.fim;
  15. }
  16.  
  17. compromisso consulta[MAXN]; // crio o vetor de compromissos de nome consulta
  18.  
  19. int n, x, y, livre, qtd; // declaro os inteiros que vou usar
  20.  
  21. int main(){
  22.  
  23.   cin >> n; // leio o valor de n
  24.  
  25.   // leio os horários de início e fim de cada consulta
  26.   for(int i=1; i<=n; i++){
  27.      cin >> consulta[i].ini >> consulta[i].fim;
  28.    }
  29.  
  30.   // ordeno as consultas pelo horário de fim
  31.   sort(consulta+1, consulta+n+1, compara);
  32.  
  33.   // percorro o vetor ordenado
  34.   for(int i=1; i<=n; i++){ // para cada consulta
  35.     if(consulta[i].ini>=livre){ // se posso atendê-la
  36.       qtd++; // aumento o número de atendimentos
  37.       livre=consulta[i].fim; // e guardo a hora em que o dentista estará livre
  38.     }
  39.   }
  40.  
  41.   cout << qtd << "\n"; // por fim, imprimo o valor de qtd
  42.  
  43.   return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement