題目出處:洛谷 p3984
題目描述
津津上高中了。她在自己的媽媽的魔鬼訓練下,成為了乙個神犇,每次參加一次oi比賽必拿au虐全場。每次她拿到乙個au後就很高興。假設津津不會因為其它事高興,並且她的高興會持續t天(包包含獲獎當天。就算在高興的時候再次拿到au,他的高興也只能維持包括這次拿獎之日起t天,而不是額外增加t天的高興時間,除非之後再拿獎)。請你幫忙檢查一下津津接下來的的日程安排,要參加n場比賽,看看接下來的幾天,津津會累計開心多久?
說明:1<=n<=200000
1<=t,t_i<=10^9,t_i單調遞增。
輸入格式
第一行兩個整數n和t。
接下來一行,n個單調遞增整數t_i,表示她在第t_i天的時候拿了乙個au。
輸出格式
乙個整數表示,津津累計開心多久。
樣例輸入
3 5
1 2 10
樣例輸出11
題目分析
因為 \(t[i]\) 是按照公升序排列的,所以我們只需要遍歷每乙個元素 \(t[i]\) ,如果 \(t[i+1] - t[i] < t\) ,則答案加上 \(t[i+1] - t[i]\) ;否則答案加上 \(t\) 。
實現**如下:
#include using namespace std;
const int maxn = 200020;
int n, t, t[maxn];
long long ans;
int main()
ans += t;
cout << ans << endl;
return 0;
}
基礎練習題解
1.矩形相交面積 問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示...
練習題目6
1.寫乙個函式返回引數二進位制中 1 的個數 比如 15 00001111 4 個 1 思路 先將此數和1進行按位與運算,若結果非0,計數器加一。然後每次讓1左移,然後和此數相與,結果非0,計數器加加。如下 2.獲取乙個數二進位制序列中所有的偶數字和奇數字,分別輸出二進位制序列。思路 求奇數字序列 ...
多重迴圈練習題解
案例1 判斷2 100之間有多少個素數,並輸出所有素數。程式分析 1 素數 只能被1和其本身整除 合數 除了1和其本身之外,還有其他因數。2 判斷素數的方法 用乙個數分別去除2到 這個數 如果能被整除,則表明此數不是素數,反之是素數。解題步驟 1 首先明白任意乙個數如何判斷是不是質數 素數 以數字9...