Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #define MAXN 10100
- using namespace std;
- struct compromisso {
- int ini, fim;
- }; // declaro a sruct compromisso
- // declaro a função que compara compromissos pelo horário de fim
- bool compara(compromisso a, compromisso b){
- return a.fim<b.fim;
- }
- compromisso consulta[MAXN]; // crio o vetor de compromissos de nome consulta
- int n, x, y, livre, qtd; // declaro os inteiros que vou usar
- int main(){
- cin >> n; // leio o valor de n
- // leio os horários de início e fim de cada consulta
- for(int i=1; i<=n; i++){
- cin >> consulta[i].ini >> consulta[i].fim;
- }
- // ordeno as consultas pelo horário de fim
- sort(consulta+1, consulta+n+1, compara);
- // percorro o vetor ordenado
- for(int i=1; i<=n; i++){ // para cada consulta
- if(consulta[i].ini>=livre){ // se posso atendê-la
- qtd++; // aumento o número de atendimentos
- livre=consulta[i].fim; // e guardo a hora em que o dentista estará livre
- }
- }
- cout << qtd << "\n"; // por fim, imprimo o valor de qtd
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement