給定n個數字,你需要從中選出一些連續的數字,讓這些數的和盡量大。
但是選出的數必須都大於等於x,小於等於y,且這些數不能超過z個
輸入描述:
第一行輸入乙個整數t,代表有t組測試資料,
對於每組測試資料,
第一行輸入4個整數n,x,y,z,意義如題所示
第二行輸入空格隔開n個數a[i],表示連續的n個數
1
<=t<=101
<=n<=1*
10^51
<=x<=y<=1*
10^91
<=z<=n
1<=a[i]
<=1*
10^9
輸出描述:
對於每組測試資料,輸出乙個整數代表能得到的最大和是多少
並且對於每組資料,答案佔單獨的一行。
示例輸入:
1102
6327
2333
1357
輸出:
9
**如下:
#include
intmain()
for(i=
0;i)//壞數要重新累加,t清零
if(a[i]
>y)
//超過z個好數
if(count==z+1)
else
}//儲存t的最大值
if(b
}printf
("%d\n"
,b);
b=0;}
}
遇到的問題:
1.不需要用第二次的數,不要用二維陣列存起來,不斷地重新整理是最方便的
2.和打牌的題類似,資料分成不同型別,這種題可以先歸納一下資料的型別,看這些型別能組成什麼情況,然後分開處理,這道題可以的資料型別分為好數(範圍內的數)和壞數
連續出現的數字
表 logs 編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。返回的結果表中的資料可以按任意順序排列。查詢結果格式如下面的例子所示 解法一 使用視窗函式的偏差函式完美實現。可以這樣理解 將num複製兩列num1和num2,然後num1整體向上移動一行,num2整體向上移動兩行,如下 所以只要...
連續出現的數字
編寫乙個 sql 查詢,查詢所有至少連續出現三次的數字。id num 1 1 2 1 3 1 4 2 5 1 6 2 7 2 例如,給定上面的 logs 表,1 是唯一連續出現至少三次的數字。consecutivenums 1 write your mysql query statement bel...
sql切分連續數字
問題描述 存在乙個表,只有number一列,資料是n行非完全連續的資料,求這n行資料中所有的連續段 示例如 表中共10行資料,分別為數字1,2,3,5,6,7,9,10,11,12。則按照規則求得結果為1 3為一段,5 6為一段,9 12為一段 思路1 按number大小排序,並從小到大標上序號ra...