Algorithm


Problem Name: 2 AD-HOC - beecrowd | 2396

Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2396

Corrida

 

Por OBI - Olimpíada Brasileira de Informática 2011 BR Brazil

Timelimit: 1

Todo ano, os habitantes da Mlogônia, apesar das crises internas, reúnem-se em torno de um esporte que é a paixão nacional: as corridas de carros. A Grande Corrida anual é um enorme evento organizado pela Associação de Corridas da Mlogônia (ACM), sendo amplamente televisionado e reportado em jornais e revistas de todo o país. Os resultados da corrida são tema principal das rodas de conversa por semanas.

Por bastante tempo, os resultados da Grande Corrida eram compilados manualmente. Observadores especializados iam à pista medir o tempo de cada um dos N carros, numerados de 1 a N, em cada uma das M voltas, anotando então os resultados em tabelas para posterior análise por parte das equipes e dos jornalistas. Muitos erros eram introduzidos nesse processo, e a organização decidiu informatizar todo o sistema.

A ACM percebeu que o esforço necessário para a construção do sistema seria grande, e optou por contar com a ajuda de uma equipe de programadores. Percival foi contratado para escrever a parte do software que determina quais foram os carros vencedores, mas está com dificuldades e pede sua ajuda. A sua tarefa, neste problema, é determinar os três carros melhor colocados, fornecidos os tempos que cada carro levou para completar cada volta da corrida.

No segundo caso de teste abaixo, existem 5 carros numa corrida de duas voltas. Os tempos de cada carro em cada volta foram como na tabela a seguir.

Sendo assim, o vencedor foi o carro 3 (com um tempo total de 2), seguido pelo carro 5 (com um tempo total de 4) e pelo carro 2 (com um tempo total de 7).

 

Entrada

 

A primeira linha da entrada contém dois inteiros N (3 ≤ N ≤ 100) e M (1 ≤ M ≤ 100​) representando o número de carros e o número de voltas da corrida, respectivamente.

Cada uma das N linhas seguintes representa um carro: a primeira linha representa o primeiro carro, a segunda linha representa o segundo carro, e assim por diante. Cada linha contém M inteiros representando os tempos em cada volta da corrida: o primeiro inteiro é o tempo da primeira volta, o segundo inteiro é o tempo da segunda volta, e assim por diante (1 ≤ qualquer número da entrada que represente o tempo de uma volta ≤ 106).

Garante-se que não houve dois carros que gastaram o mesmo tempo para completar a corrida inteira.

 

Saída

 

A saída consiste de três linhas, contendo um único inteiro cada. A primeira linha contém o número do carro que ganhou a corrida, a segunda contém o número do segundo colocado e a terceira contém o número do terceiro colocado.

 

 

 

Exemplos de Entrada Exemplos de Saída

3 1

1

2

3

1

2

3

 

Code Examples

#1 Code Example with C++ Programming

Code - C++ Programming


#include <cstdio>
#include <queue>
#define MP make_pair
using namespace std;
typedef pair < int, int> ii;
int main() {
    priority_queue, greater > heap;
    int n, m;
    scanf("%d %d", &n, &m);
    for (int i = 1; i  < = n; i++) {
        int resposta = 0;
        for (int j = 0; j  <  m; j++) {
            int k;
            scanf("%d", &k);
            resposta += k;
        }
        heap.push(MP(resposta, i));
    }
    for (int i = 0; i  <  3; i++) {
        printf("%d\n", heap.top().second);
        heap.pop();
    }
    return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
3 1
1
2
3

Output

x
+
cmd
1
2
3
Advertisements

Demonstration


Previous
#2395 Beecrowd Online Judge Solution 2395 Transporte de Contêineres Solution in C, C++, Java, Js and Python
Next
#2397 Beecrowd Online Judge Solution 2397 Triângulos Solution in C, C++, Java, Js and Python