時間限制: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
51
本題與之前做的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...