0
Follow
0
View

C++ algorithm problem(no more than popular group difficulty)

Mr_Sun73 注册会员
2023-02-26 16:06
cyok5656 注册会员
2023-02-26 16:06

The following answers are quoted from GPT-3 model, please use them wisely:

!

以下是C++解题思路:
1、从输入中获取N和T,然后将每行输入(di,bi)存储到一个二维数组中;
2、从数组中遍历获取每个di,bi,计算出当前bi能可以满足多少天的干草需求;
3、根据每次计算出当前di剩余的需求,然后判断下一个di和下一个bi,如果小于当前的需求,则累加,否则重置需求,继续计算;
4、循环上述步骤,直到计算完毕,最终得出贝西在第T天吃的干草包总数。以下是代码:

#include 
#include 
 
using namespace std;
 
int main() {
    int n, t;
    cin >> n >> t;
    vectorlong long>> grass(n);
    for (int i = 0; i < n; i++) {
        grass[i].resize(2);
        cin >> grass[i][0] >> grass[i][1];
    }
 
    long long sum = 0;
    long long need = 0;
    for (int i = 0; i < n; i++) {
        long long days = grass[i][0];
        long long amount = grass[i][1];
 
        if (days > t)
            break;
        else {
            if (t - days >= need) {
                sum += amount;
                need -= amount;
            }
            else {
                sum += (t - days + 1);
                break;
            }
        }
    }
    cout << sum << endl;
    return 0;
}

Please accept my answer if it answers your question

About the Author

Question Info

Publish Time
2023-02-26 16:06
Update Time
2023-02-26 16:06