이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
int encontrar_posicao_inicial(int N, int* arqueiros) {
int minha_classificacao = arqueiros[0]; // Sua classificação é o primeiro elemento do array
// Verificar se você é o melhor ou o pior arqueiro
if (minha_classificacao == 1 || minha_classificacao == 2 * N) {
return 1; // Se você for o melhor ou o pior, comece no alvo 1
}
// Verificar se há um arqueiro com classificação menor que a sua à esquerda
for (int i = 1; i < 2 * N; i++) {
if (arqueiros[i] < minha_classificacao) {
return (i + 1) / 2 + 1; // Comece no alvo correspondente
}
}
// Caso contrário, comece no alvo 2
return 2;
}
int main() {
int N, R;
if (scanf("%d %d", &N, &R) != 2) {
printf("Erro na leitura de N e R.\n");
return 1;
}
int arqueiros[2 * N];
for (int i = 0; i < 2 * N; i++) {
if (scanf("%d", &arqueiros[i]) != 1) {
printf("Erro na leitura da classificação dos arqueiros.\n");
return 1;
}
}
int posicao_inicial = encontrar_posicao_inicial(N, arqueiros);
printf("%d\n", posicao_inicial);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |