龙星尘 2023-02-26 15:33 采纳率: 42.9%
浏览 62
已结题

C++算法题(不超过普及组难度)

题目:
贝西是一头母牛。每天晚饭,如果谷仓里有干草,她会吃一个干草。农夫约翰不想让贝西挨饿,所以有时他会送一批干草,早上(晚饭前)送到。在di天,农夫约翰会发送了一批数量为bi干草包(1≤di≤10^14,1≤bi≤10^9)。
计算贝西在前T天吃的干草包总数。
INPUT FORMAT(输入来自终端/stdin):
第一行包含N和T(1≤N≤10^5,1≤T≤10^14)。
接下来的N行各包含di和bi。此外,还保证1≤d1<d2<……<dN≤T。
OUTPUT FORMAT(输出格式)(将输出打印到终端/标准输出):
输出Bessie在前T天吃的干草包数量。
请注意,此问题中涉及的大整数大小可能需要使用64位整数数据类型(例如,C/C++中的“long-long”)。
样本输入:
1 5
1 2
样本输出:
2
两个干草包在第一天早上到达。贝西在第一天晚餐吃一个干草,第二天吃另一个干草。在第3…5天,贝西再也吃不到干草了。在最初的5天里,贝西总共吃了2捆干草。
样本输入:
2 5
1 2
5 10
样本输出:
3
两个干草包在第一天早上到达。贝西在第1天和第2天吃了一个干草。在第3天和第4天,贝西没有干草吃。第5天早上,10个干草包抵达。贝西在第5天晚餐时吃了一块干草。在最初的5天里,贝西总共吃了3捆干草。
样本输入:
2 5
1 10
5 10
样本输出:
5
10个干草包在第1天早上到达。贝西在第1…4天吃了一个干草。第5天早上,又有10个干草包到达,这意味着谷仓里有16个干草包。第5天的晚餐,贝西又吃了一个干草。在最初的5天里,贝西总共吃了5个干草包。

这是今天学校布置的题目,我不会,希望各位帮忙解答一下(用C++的算法进行),最希望给出代码和思路!

  • 写回答

3条回答 默认 最新

  • 关注
    
    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int main()
    {
        int N, T;
        cin >> N >> T;
        long long d[N], b[N],c[N],s=0,sum=0;
        for (int i = 0; i < N; i++){
          cin >> d[i] >> b[i];
          c[i]=0;
        }
            
        long long ans = 0;
        for (int i = 0; i < N; i++)
        {   
          if(i==0){
            s+=1;
            sum-=1;sum+=b[i];
            if(N==1)
            s+=min((T-d[i]),sum);
            
          }
            
          else{
            
            s+=min((d[i]-d[i-1]-1),sum);
            sum+=b[i];
            sum-=min((d[i]-d[i-1]-1),sum);
            
            
            s+=min((T-d[i]+1),sum);
          }
          
        }
        cout <<s<< endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 创建了问题 2月26日

悬赏问题

  • ¥15 基于作物生长模型下,有限水资源的最大化粮食产量的资源优化模型建立
  • ¥15 生成的QRCode圖片加上下載按鈕
  • ¥15 板材切割优化算法,数学建模,python,lingo
  • ¥15 科来模拟ARP欺骗困惑求解
  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式