1010 求個最大值(數學)

2022-03-07 09:06:07 字數 2022 閱讀 4057

時間限制: 1 sec  記憶體限制: 128 mb

提交: 231  解決: 39

[提交][狀態][討論版]

給出 n(1 <= n <= 200000)個數字 ai(1 <= ai <= 1000000),i 為數字的下標,按輸入順序從 1 開始編號

一直到 n,求滿足 ai >= aj 的最大的 ai % aj。 

第一行乙個數字 n,第二行 n 個整數。 

題目要求的最大值。 

2

2 3

1

列舉aj 的倍數,用小於且最接近aj 的倍數的數來對aj 取餘,

這裡關於複雜度,是個級數求和,忘了怎麼級數求和了,

用程式跑了下,算出來不會超...

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 

10 #include 11

using

namespace

std;

12 typedef long

long

ll;13

#define pi 3.1415926535897932

14#define e 2.718281828459045

15#define inf 0xffffffff//

0x3f3f3f3f

16#define mod 1000000007

17const

int mod=1e9+7;18

19const

int m=1005;20

intn,m;

21int a[1000005],b[3000005

];22

intmain()

2334 sort(a+1,a+n+1

);35 a[n+1]=2*maxn+1000000;36

for(j=1; j<=n; j++)

3741 ans=0;42

for(j=1; j<=n; j++)

43for(i=2*a[j]; i<=maxn+a[j]; i+=a[j])

44 ans=max(ans,b[i]%a[j]);

45 printf("

%d\n

",ans);46}

47return0;

48 }

還有一段**,不懂,

1

//#include

2#pragma comment(linker, "/stack:1024000000,1024000000")

3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include

10 #include 11

using

namespace

std;

12#define inf 0x3f3f3f3f

13using

namespace

std;

14const

int maxn = 50007;15

inta[maxn],b[maxn],c[maxn];

16int temp[maxn<<2

];17

18int

main()

1937

//cout<

39//

else break;

40if(j>i)j=i;

41 ans=max(ans,mx);

42if(j<0)break;43

}44 cout

46return0;

47}48/*499

501 4 5 7 10 16 21 39 78

51*/

view code

Problem A 求個最大值

time limit 1 sec memory limit 128 mb submit 1635 solved 1339 submit status web board 定義maxvalue類,用於求一系列非零整數的最大值。其中 1.資料成員elements用於儲存所有輸入的非零整數。3.int g...

qduoj 求最大值

題目 描述給定 個數,a 1 到a n 請你幫忙找出a i a j 的最大值,其中1 i j n 輸入第一行乙個數 表示一共有 組資料 t 20 每組測試資料第一行乙個整數 2 n 10 表示接下來有 個數,第二行 個整數,不超過10 6,中間用空格隔開。輸出每組資料輸出一行,表示最大值是多少。樣例...

求10 個整數中最大值

題目 求10 個整數中最大值 分析 可以預設第乙個數為最大,用max儲存最大數字,然後每輸入乙個數字,就與max進行比較,不斷更新max的值。最後max中儲存的值就是最大數字。這裡10個整數可以不用陣列儲存,逐一輸入比較 也可以用陣列儲存,然後遍歷比較。define crt secure no wa...