CodeM 2017美團點評程式設計大賽資格賽

2022-07-27 02:51:12 字數 2947 閱讀 4611

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

美團外賣的品牌代言人袋鼠先生最近正在進行**研究。他有兩段音訊,每段音訊是乙個表示音高的序列。現在袋鼠先生想要在第二段音訊中找出與第一段音訊最相近的部分。

具體地說,就是在第二段音訊中找到乙個長度和第一段音訊相等且是連續的子串行,使得它們的 difference 最小。兩段等長音訊的 difference 定義為:

difference = sum(a[i] - b[i])2 (1 ≤ i ≤ n),其中sum()表示求和

其中 n 表示序列長度,a[i], b[i]分別表示兩段音訊的音高。現在袋鼠先生想要知道,difference的最小值是多少?資料保證第一段音訊的長度小於等於第二段音訊的長度。

輸入描述:

第一行乙個整數n(1 ≤ n ≤ 1000),表示第一段音訊的長度。

第二行n個整數表示第一段音訊的音高(0 ≤ 音高 ≤ 1000)。

第三行乙個整數m(1 ≤ n ≤ m ≤ 1000),表示第二段音訊的長度。

第四行m個整數表示第二段音訊的音高(0 ≤ 音高 ≤ 1000)。

輸出描述:
輸出difference的最小值
輸入例子1:
2

1 24

3 1 2 4

輸出例子1:

0

#include using

namespace

std;

#define inf 0x3f3f3f3f

intn, m;

int a[1010], b[1010

];int

main()

ans =min(ans, sum);

}printf(

"%d\n

", ans);

return0;

}

view code

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

組委會正在為美團點評codem大賽的決賽設計新賽制。

比賽有 n 個人參加(其中 n 為2的冪),每個參賽者根據資格賽和預賽、複賽的成績,會有不同的積分。比賽採取錦標賽賽制,分輪次進行,設某一輪有 m 個人參加,那麼參賽者會被分為 m/2 組,每組恰好 2 人,m/2 組的人分別廝殺。我們假定積分高的人肯定獲勝,若積分一樣,則隨機產生獲勝者。獲勝者獲得參加下一輪的資格,輸的人被淘汰。重複這個過程,直至決出冠軍。

現在請問,參賽者小美最多可以活到第幾輪(初始為第0輪)?

輸入描述:

第一行乙個整數 n (1≤n≤ 2^20),表示參加比賽的總人數。

接下來 n 個數字(數字範圍:-1000000…1000000),表示每個參賽者的積分。

小美是第乙個參賽者。

輸出描述:
小美最多參賽的輪次。
輸入例子1:
4

4 1 2 3

輸出例子1:
2

#include using

namespace

std;

intn, st;

int minn = 0, ans = 0

;int

main()

if(!minn) ans = 0

;

else ans = ((int)(log(minn * 1.0) / log(2.0

)));

printf(

"%d\n

", ans);

return0;

}

view code

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

某次抽查時,發現有硬碟故障,歷史日誌中有部分行損壞,這些行的存在是已知的,但是行的內容讀不出來。假設損壞的行可以是任意的優惠券的購買或者使用。

現在問這次抽查中業務是否正確。若有錯,輸出最早出現錯誤的那一行,即求出最大s,使得記錄1到s-1滿足要求;若沒有錯誤,輸出-1。

輸入描述:

m 分別表示 m (1 ≤ m ≤ 5 * 10^5) 條記錄。

下面有m行,格式為:

i x (i為input的縮寫,表示購買優惠券x);

o x(o為output的縮寫,表示使用優惠券x);

? (表示這條記錄不知道)。

這裡x為正整數,且x ≤ 10^5 。

輸出描述:
-1 或 x(1 ≤ x ≤ m) 其中x為使得1到x-1這些記錄合法的最大行號。
輸入例子1:
0

1o 12?

o 13

i 1?

o 12

i 2o 1

輸出例子1:
-11-1

-12

#include using

namespace

std;

const

int maxn = 1e6 + 10

;int

n;int

vis[maxn];

intmain() }}

vis[x] =i;

} else}}

vis[x] = -i;}}

printf(

"%d\n

", ans);

}return0;

}

view code

CodeM美團點評程式設計大賽A輪 C 倒水

程式設計題 倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。...

CodeM美團點評程式設計大賽A輪 C 倒水

倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。注意 一杯溫...

美團點評CodeM資格賽部分問題題解

注意的點是任何時刻一張優惠券只能存在乙個,如果同一張優惠券還沒被使用又購入,就看上一次購入與該次購入之間有沒有問號可以替代使用,使用優惠券同理。include include include include include include include include using namespac...