Дистанционная подготовка: Неправильное решение получает ОК
Неправильное решение получает ОК
от A A - Вторник 26 Август 2014, 19:51
1409. Ревизия
  Следующее решение получает ОК, хотя оно неправильное. Например, на
5
1 2 3 4 5
выдает 1 1.

#include <stdio.h>

main()
{
    long a[1000];
    unsigned short N, i;
    scanf("%hu", &N);
    for (i = 0; i < N; ++i) scanf("%ld", &a[i]);
    long min1, min2;
    min1 = min2 = a[0];
    for (i = 1; i < N; ++i) {
        if (a[i] < min1) {
            min2 = min1;
            min1 = a[i];
        }
        else if (a[i] < min2) min2 = a[i];
    }
    printf("%ld %ld", min1, min2);
}
Re: Неправильное решение получает ОК
от Тимофей Гутор - Пятница 29 Август 2014, 11:34
  Да, согласен, не учтен случай массива, где минимум стоит в arr[0].
Контртест
5
1 2 3 4 5
Вывод
1 1