nyist 610 定長覆蓋

2022-08-09 00:30:22 字數 936 閱讀 5096

時間限制:2000 ms  |  記憶體限制:65535 kb

難度:2

描述問題很簡單,在一條直線上,座標從0開始到1000000;現在有n個石子在這條直線上(同乙個位置可能有多個石子)

那麼用乙個定長為m的桿子去覆蓋,請問最多能覆蓋多少個石子?

輸入輸入有多組資料

第一行有2個整數,n 和 m(n <= 50000,m <= 1000)

第二行有n個整數代表每個石子的位置(所有的數小於50000)

輸出每種情況輸出乙個整數(最多能覆蓋的石子數)

樣例輸入

3 2

0 0 1

5 20 1 2 4 5

樣例輸出

3

3首先求0--m的和值,然後進行加後減前,就是把後面乙個的加上,把最前面的那個刪除

a[1--m+1] = a[0--m] + a[m+1]- a[0];

1 #include 2 #include3 #include 4

5using

namespace

std;67

int a[1000005];8

9int

main()

1025

if(max <=m)

2630

31int

j;32

int sum = 0;33

for(i = 0; i <= m;i++)

34 sum +=a[i];

35int max_sum =sum;

36for(; i <= max; i++)

3743 printf("

%d\n\n

",max_sum);44}

45return0;

46 }

NYOJ 題目610 定長覆蓋(水)

時間限制 2000 ms 記憶體限制 65535 kb 難度 2 描述 問題很簡單,在一條直線上,座標從0開始到1000000 現在有n個石子在這條直線上 同乙個位置可能有多個石子 那麼用乙個定長為m的桿子去覆蓋,請問最多能覆蓋多少個石子?輸入 輸入有多組資料 第一行有2個整數,n 和 m n 50...

定長繩子最多覆蓋點

題目描述 數軸上從左到右有n個點,a 0 a 1 a n 1 給定一根長度為l繩子,求繩子最多覆蓋其中幾個點?以下面的陣列為例子,如果繩子長度為4,那麼最多覆蓋的點數應該是568這三個點 int a 5 把繩子想成一條蛇。如果長度小於4,那麼就頭一直增長,增長到4的話,就把尾部收短一些,之後就是頭伸...

定長線段最多覆蓋點的個數

給定一系列x軸的點座標,例如 1,3,7,8,9,11這些座標公升序放在陣列中,現在給一根繩子,長度為4,問繩子最多能覆蓋的點數有多少,例如繩子放前面只能覆蓋兩個點,1,3,如果放後面能覆蓋4個點。題目不難,但也不是太容易想出來,兩個指標前後跑的思路 兩個指標往前走,前面的負責加,後面的負責減,前面...