ACM刷题 7的意志 (水题)

原题:https://codeforces.com/gym/103480/problem/B

(7的意志)

直接使用暴力递归计算即可,思路还是简单的

#include <bits/stdc++.h>
#define int long long
const int inf = 0x3f3f3f3f;
#define Blizzard std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
using namespace std;
//*******************
const int N = 1e5 + 3;
int num[N];

//********************

void solve()
{
    int n;
    cin >> n;
    int cnt = 0;
    for (int i = 0; i < n; i++)
        cin >> num[i];
    int l = 0, r = 0;
    int to = num[0];
    while (r < n)
    {
        if (to < 7777)
        {
            r++;
            if (r >= n)
                break;
            to += num[r];
        }
        else if (to > 7777)
        {
            to -= num[l];
            l++;
        }
        else // to ==7777
        {
            cnt++;
            to -= num[l];
            l++;
        }
    }
    cout << cnt << endl;
}

signed main()
{
    Blizzard;
    int t = 1;
    cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

队友的代码,本人写得不是很好看,就不贴了,思路都是一样的

posted @ 2024-03-04 21:44  Blizzard1900  阅读(4)  评论(0编辑  收藏  举报