Значение вопросов: чтобы дать вам последовательность, то наибольший общий делитель всей последовательности числа увеличивается после удаления нескольких
идей: Мы первый спросили НОД публики, то мы можем попытаться сделать НОД увеличен , чтобы увеличить и определить , является ли НОД существует ряд для числа НОДА в
то время как количество статистики, крупнейшим является последним из требуемых значений для общественного НОДА. (То есть, увеличить верхний предел до максимального числа)
в диапазоне от 1 ~ 1e5, обр [I] является 1.5e7
Полный код:
# include <cstdio> #include <CString> #include <CMATH> #include <алгоритм> #include <iostream> использованием пространства имен станд; INT обр [maxn]; INT НОД ( Int а, INT б) { возвращение Ь == 0 а: НОД (Ь, а%? б); } INT основных () { INT п; в то время как (CIN >> п) { для ( INT I = 0 ; <п; я ++ ) { CIN >> обр [I]; } Сортировки (обр, обр + п); INT г = обр [ 0 ]; для ( INT I = 1 ; <п; я ++ ) { г = НОД (обр [I], г); } INT ANS = 0 ; ИНТ продолжение; для ( Int J = G, J <= обр [п- 1 ]; j ++ ) { прод = 0 ; для ( INT к = 0 ; к <п; K ++ ) { если(Обр [я]% г)продолжается ; еще продолжение ++ ; } Лет = макс (лет продолжение); } Cout << п-лет << епсИ; } }