hihoOffer收割練習20題目2

2022-04-27 17:56:07 字數 872 閱讀 8775

時間限制:10000ms

單點時限:1000ms

記憶體限制:256mb

每乙個正整數 n 都能表示成若干個連續正整數的和,例如10可以表示成1+2+3+4,15可以表示成4+5+6,8可以表示成8本身。我們稱這種表示方法為sci(sum of consecutive integers)表示法。  

小hi發現乙個整數可能有很多種sci表示,例如15可以表示成1+2+3+4+5,4+5+6,7+8以及15本身。小hi想知道n的所有sci表示中,最多能包含多少個連續正整數。例如1+2+3+4+5是15包含正整數最多的表示。

第一行乙個整數 t,代表測試資料的組數。  

以下 t 行每行乙個正整數n。  

對於30%的資料,1 ≤ n ≤ 1000  

對於80%的資料,1 ≤ n ≤ 100000  

對於100%的資料,1 ≤ t ≤ 10,1 ≤ n ≤ 1000000000

對於每組資料輸出n的sci表示最多能包含多少個整數。

樣例輸入

2  

15

8

樣例輸出
5

1

本題與之前做的51nod 的1138 sum一題類似,是乙個單調棧的應用題,兩題的**稍微改一下即可

**如下:

#include#include#include#include#include#include#include#include#include#include#include#define ll long long

using namespace std;

int main()}}

}}

// st.pop();

if(st.empty())

cout<<1<

hihoOffer收割練習20題目2

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 每乙個正整數 n 都能表示成若干個連續正整數的和,例如10可以表示成1 2 3 4,15可以表示成4 5 6,8可以表示成8本身。我們稱這種表示方法為sci sum of consecutive integers 表示法。小h...

hihoOffer收割練習20題目1

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 給定一棵包含 n 個節點的無根樹,小hi想知道如果指定其中某個節點 k 為根,那麼每個節點的父節點是誰?第一行包含乙個整數 n 和 k。1 n 1000,1 k n。以下n 1行每行包含兩個整數 a 和 b,代表ab之間存在一...

hihocoder offer收割程式設計練習賽58

1.最大的k偏差序列。分析一下資料可以發現,對於連續的2k個資料,只有一種方式可以使結果字典序最大,例如1 2 3 4 5 6 7 8,每4個一組,結果就是5 6 7 8 1 2 3 4。然後不夠一組的就先盡可能交換,剩下的元素逆序就可以了。1 include 2 using namespace s...