Hungry Cow(USACO23 FEB Bronze T1)

发布时间 2023-04-24 20:10:16作者: 王浩泽

题目:

 来写周练了,这道题目开开胃,就只用遍历一遍b数组、d数组再加上一些特判即可

程序:

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long n,t,d[N],b[N];
int main()
{
    ios::sync_with_stdio(false);
    cin>>n>>t;
    for(int i=1;i<=n;i++) cin>>d[i]>>b[i];
    long long sum=0,temp=0;
    for(int i=1;i<=n;i++)
    {
        if(i!=1&&sum>=d[i]-d[i-1]) sum-=d[i]-d[i-1],temp+=d[i]-d[i-1],sum+=b[i];
        else if(i!=1) temp+=sum,sum=0,sum+=b[i]-1,temp++;
        if(i==1) sum+=b[1]-1,temp++;
    }
    cout<<temp+min(t-d[n],sum);
    return 0;
}