1 条题解

  • 1
    @ 2024-9-29 18:29:56

    根据题意我们可知初始分为 15001500,在接下来的 nn 场比赛中分数会增加或减少,要我们求在第几场比赛后,分数会大于等于 4000 4000 ,如果所有比赛都不能达到的话输出 1-1;由于 c<=109|c|<=10^9, 小心爆 intint 哦。

    Tourist大佬

    Top Image

    参考答案:

    #include<iostream>
    using namespace std;
    typedef long long LL;
    const int N = 100010;
    LL a[N], s[N];
    LL n, m;
    int main()
    {
        cin >> n;
        a[0] = 1500;
        for (int i = 1; i <= n; ++i)
        {
            scanf("%lld", &a[i]);
            s[i] += s[i - 1] + a[i];
        }
        
        bool flag = true;
        for (int i = 1; i <= n; ++i)
        {
            if (s[i] >= 4000)
            {
                cout << i << endl;
                flag = false;
                break;
            }
        }
        if (flag) cout << -1 << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    5393
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    10
    已通过
    5
    上传者