有乙個a陣列,裡面有n個整數。現在要從中找到兩個數字(可以是同乙個) ai,aj ,使得 ai mod aj 最大並且 ai ≥ aj。
對於每個數字,有n/
ai個區間,每個區間是[1
+ai∗
(k−1
),ai
∗k]
顯然對於每個區間只有最接近這個區間末邊界的值會更新答案。
提前預處理一下就可以了。
ps:我預處理有log的,其實不需要log。
#include
#include
using
namespace
std;
char nc()
inline
int _read()
const
int maxn=2000005;
int n,a[maxn],lst[maxn],ans;
bool vis[maxn];
int main()
for (int i=1;i<=n;i++)if (!vis[a[i]])
printf("%d\n",ans);
return
0;}
51nod 1421 最大MOD值 暴力列舉
有乙個a陣列,裡面有n個整數。現在要從中找到兩個數字 可以是同乙個 ai aj 使得 ai moda j 最大並且 ai aj input 單組測試資料。第一行包含乙個整數n,表示陣列a的大小。1 n 2 10 5 第二行有n個用空格分開的整數ai 1 ai 10 6 output 輸出乙個整數代表...
51nod1496最小異或和 亂搞
description 乙個集合包含一組相互不同的數字。現在我們要去尋找乙個集合,他要滿足如下性質 對於所有 x x s 要滿足l x r 1 s k 設s中第i個元素是 si 那麼 f s s1 s2 s s 的值要盡可能小。sample input 8 15 3 sample output 1這...
51nod 1276 島嶼的數量 離線演算法亂搞
有n個島連在一起形成了乙個大的島嶼,如果海平面上公升超過某些島的高度時,則這個島會被淹沒。原本的大島嶼則會分為多個小島嶼,如果海平面一直上公升,則所有島都會被淹沒在水下。給出n個島的高度。然後有q個查詢,每個查詢給出乙個海平面的高度h,問當海平面高度達到h時,海上共有多少個島嶼。例如 島嶼的高度為 ...