P3984 高兴的津津(水题)

题目描述

津津上高中了。她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次OI比赛必拿Au虐全场。每次她拿到一个Au后就很高兴。假设津津不会因为其它事高兴,并且她的高兴会持续T天(包包含获奖当天。就算在高兴的时候再次拿到Au,他的高兴也只能维持包括这次拿奖之日起T天,而不是额外增加T天的高兴时间,除非之后再拿奖)。请你帮忙检查一下津津接下来的的日程安排,要参加N场比赛,看看接下来的几天,津津会累计开心多久?

输入输出格式

输入格式:

第一行两个整数N和T。

接下来一行,N个单调递增整数t_i,表示她在第t_i天的时候拿了一个Au。

输出格式:

一个整数表示,津津累计开心多久。

输入输出样例

输入样例#1: 复制

3 5
1 2 10

输出样例#1: 复制

11

说明

1<=N<=200000

1<=T,t_i<=10^9,t_i单调递增。

首先想到一点就是最后一次拿Au一定会持续T天,然后当连续两次拿Au时,如果两次相差天数小于T天,那么就会存在重复的天数,那么每次加上a[i]-a[i-1]。当a[i]-a[i-1]>T时,则可高兴T天,则每次加上T天

#include <iostream>
#include<algorithm>
using namespace std;
int a[200000];
int main()
{
    int n,t;
    cin>>n>>t;
    int ans=0;
    cin>>a[1];
    for(int i=2;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]-a[i-1]<t)
            ans+=a[i]-a[i-1];
        else{
            ans+=t;
        }
    }
    cout<<ans+t<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/wjc1761659069/article/details/82319028