相較於咕咕東,瑞神是個起早貪黑的好孩子,今天早上瑞神起得很早,刷b站時看到了乙個序列aa,他對這個序列產生了濃厚的興趣。
他好奇是否存在乙個數kk,使得一些數加上kk,一些數減去kk,一些數不變,使得整個序列中所有的數相等。
其中對於序列中的每個位置上的數字,至多只能執行一次加運算或減運算或是對該位置不進行任何操作。
由於瑞神只會刷b站,所以他把這個問題交給了你
input
輸入第一行是乙個正整數tt表示資料組數。output接下來對於每組資料,輸入的第乙個正整數nn表示序列aa的長度,隨後一行有nn個整數,表示序列aa。
輸出共包含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理所當然地奪得了...