M2補題 T1 HRZ的序列

2021-10-04 22:51:28 字數 1383 閱讀 1702

相較於咕咕東,瑞神是個起早貪黑的好孩子,今天早上瑞神起得很早,刷b站時看到了乙個序列aa,他對這個序列產生了濃厚的興趣。

他好奇是否存在乙個數kk,使得一些數加上kk,一些數減去kk,一些數不變,使得整個序列中所有的數相等。

其中對於序列中的每個位置上的數字,至多只能執行一次加運算或減運算或是對該位置不進行任何操作。

由於瑞神只會刷b站,所以他把這個問題交給了你

input

輸入第一行是乙個正整數tt表示資料組數。

接下來對於每組資料,輸入的第乙個正整數nn表示序列aa的長度,隨後一行有nn個整數,表示序列aa。

output

輸出共包含tt行,每組資料輸出一行。對於每組資料,如果存在這樣的k,輸出"yes",否則輸出「no」。(輸出不包含引號)

由題意可得滿足條件的序列中只有三種數,一是不變的數加上k,二是不變的數減去k,三是不變的數。所以我們要找出這三個數,最簡單的方法是對序列排序,則三個數分別為最大值,最小值,最大值與最小值的平均,遍歷整個序列,如果有數與這三個數均不相等,則輸出no,若全相等則輸出yes

這道題一開始在思考時想的資料都是對稱的,和兩個的,所以在求不變的數時求的是所有數的平均,沒有想到67676767這種序列,思路上就錯了,想題的時候還是要想全面,多出一些資料

還有乙個愚蠢的錯誤,no寫成了no。還是要注意細節

#include

#include

#include

#include

#include

using

namespace std;

intmain()

sort

(v.begin()

,v.end()

);long

long ans=

(v[v.

size()

-1]+v[0]

)/2;

bool flag=

false

;for

(int i=

0;isize()

;i++)}

if(flag==

false

) v.

clear()

;}return0;

}

程式設計M2補題 B HRZ學英語

給定乙個字串,包括26個大寫字母和 其中?可以代表任意乙個字母,現要求你在這個字串中找到第乙個連續的包含26個大寫字母的子串 可以有問號 並輸出字典序最小的那乙個。輸入只有一行,乙個符合題目描述的字串。輸出只有一行,如果存在這樣的子串,請輸出,否則輸出 1 思路很簡單,用乙個長度為26的移動框,在輸...

小公尺M2發布之外,別忘了還有個公尺1S

從產品的設計和配置來看,小公尺1s在m1的基礎上做出了不大不小的幾點改進 首先是1.7ghz雙核處理器,雖然小公尺並沒有說明這款處理器的具體型號,但根據核心架構為scorpion,可以推測它依然是小公尺m1上用過的高通msm8260。不過這次它將主頻提公升為1.7ghz,這樣一來1s理所當然地奪得了...