ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1118. Нетривиальные числа

What can be the reason of WA 11? I'll be glad if you give some tests.
Послано D4nick 31 мар 2020 08:11
#include <iostream>
using namespace std;
int main() {
    long long i, j, iDel; long long biggestV = 9999999, biggestDel = 9999999;
    cin >> i >> j;
    if (i == 1) {
        cout << 1;
        return 0;
    }
    else if (i == j) {
        cout << i;
        return 0;
    }
    else if (i + 1 == j) {
        cout << (j % 2 != 0 ? j : i);
        return 0;
    }
    for (long long iV = j % 2 != 0 ? j : j-1; iV >= i; iV -= 2) {
        for (iDel = j / 3 + 1; iDel >= 1; iDel--) {
            if (iV%iDel == 0) {
                if (iDel < biggestDel) {
                    biggestDel = iDel;
                    biggestV = iV;
                }
                break;
            }
        }
        if (iDel == 1) {
            cout << iV;
            return 0;
        }
    }
    cout << biggestV;
}
Re: What can be the reason of WA 11? I'll be glad if you give some tests.
Послано ToadMonster 31 мар 2020 14:10
In the main cycle you doesn't compare trivialities, you search the smallest biggest divisor in the weird range instead. Could you please show the mathematical proof of your main cycle?

Edited by author 31.03.2020 14:11

Edited by author 31.03.2020 14:12
Re: What can be the reason of WA 11? I'll be glad if you give some tests.
Послано wiwi 19 ноя 2020 04:35
Hi.Did you solve this problem?