給乙個長度為n的陣列a,我們現在要選出乙個序列,要求就是這個序列的中位數最接近k,輸出最長的那個滿足要求的序列在陣列a中的下標
輸入:n和k,陣列a
輸出:最長的滿足要求的序列的長度len,以及下標 p1, p2, …, plen (1 ≤ pi ≤ n, pi < pi + 1)
input
5 31 2 3 4 5
output
51 2 3 4 5
input
5 42
1 2 3 4 5
output15
直接模擬就好了,但是最開始的時候好像我理解錯了題意。
#include
using
namespace std;
typedef
long
long ll;
const
int maxn =
2e5+5;
const ll mod =
1e9+7;
struct nodeg[maxn]
;bool
cmp(node a,node b)
intmain()
sort
(g +
1,g +
1+ n,cmp)
;int ans =
1e9;
int len;
int res;
int id;
for(
int i =
1;i <= n;i++
)elseif(
abs(g[i]
.val - k)
== ans)}}
cout << res << endl;
vector<
int>vec;
vec.
clear()
;if(id <=
(n +1)
/2)}
else
}sort
(vec.
begin()
,vec.
end())
;int tmp = vec.
size()
;for
(int i =
0;i < tmp;i++
)return0;
}
基礎演算法 模擬
剛開始有乙個空棧,我們可以對這個棧進行n次操作,每次操作之後返回棧中數字的最大值a i 如果棧為空,那麼則返回0,即a i 0。怎樣對棧進行操作題目已經給出,需要求的是 直接模擬,剛開始隊友可能想到線段樹維護最大值 需要注意的是除了題目中描述的函式的變數型別不改為long long,其他的變數型別全...
基礎演算法 模擬 細節
1337 翻轉遊戲 例如 遊戲有兩關一共4盞燈,第一關levs為 第二關為 你需要5步完成這個遊戲,因為燈初始狀態為 5個步驟依次是 check,check。輸入多組測試資料,第一行乙個整數t,表示資料個數,其中1 t 10 之後有t組相同結構的資料 每組資料第一行包含兩個整數n,m,其中1 n,m...
基礎演算法模擬 例題 C
在漫長的刷題練習過程中,幾乎所有稍微熟練一點的oier都會,但是都幾乎沒有經過系統的學習,今天,我們就來講講模擬演算法,也是為了複習emm。定義?模擬還有什麼定義嗎?那什麼是模擬呢?就是按照題目給的操作,用 依次描述出來即可。noip會考嗎?會考!但是大家在刷題過程中一定會遇到這種題,其實只要看清是...