Problema "A Resposta de Theon" resolvido e postado! Também tenho duas soluções dele em C++. Aqui nesse post eu trago a solução em C.
Plataforma: URI (BEECROWD)
Problema: 1858
Enunciado:
Ramsay: "(...) você vence se conseguir adivinhar quem eu sou e por que estou torturando você."
Theon deve pensar rápido e adivinhar quem é seu algoz! Entretanto, Ramsay já decidiu o que ele irá fazer depois que Theon der sua resposta.
Theon pode dizer que seu algoz é alguma dentre N pessoas. Considere que as pessoas são numeradas de 1 a N. Se Theon responder que seu algoz é a pessoa i, Ramsay irá atingi-lo Ti vezes.
Sua tarefa é ajudar Theon a determinar qual deve ser sua resposta de forma a minimizar o número de vezes que ele será atingido.
Linguagem: C
Solução:
Já atribuí o valor 21 a menor, pois todo valor será menor que isso e assim posso fazer a iteração e garantir que o menor valor estará nessa variável. Além disso, é necessário pegar a posição desse valor, e a variável posição é iniciada em 1 e é incrementada no laço de repetição. Sempre testo, dentro do laço de repetição e enquanto estiver lendo os valores, se o valor lido é menor que o valor da variável menor, aí faz a troca da posição e do menor, se de fato for menor. No fim basta imprimir a posição.
#include <stdio.h> int main() { int n, valor, posicao, menor, contador; scanf("%i", &n); menor = 21; posicao = 1; contador = 1; while(contador <= n) { scanf("%i", &valor); if (valor < menor) { posicao = contador; menor = valor; } contador++; } printf("%i\n", posicao); return 0; }