A题最差题解

校园活动

https://ac.nowcoder.com/acm/contest/10845/A

菜鸡唯一会的一个题
首先读题 对队列 进行分割后要求和相等
1e3的数据 我想了一下 直接跑on2
跑第一组占用几个 然后得出和 然后用这个和 算能不能正好把数列分割
如果可以就用max记录一下 注意只能分割不了的话 输出-1

#include<iostream>
#include<math.h>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int n, jg = 0;
string s;
int pd(int fz)
{
    int num = 0,jl=0;
    for (int i = 1; i <=fz; i++)
    {
        num += s[i-1]-'0';
    }
    int numz = 0;
    for (int i = 0; i <s.length(); i++)
    {
        numz += s[i] - '0';
        if (num == numz)
        {
            jl++;
            numz = 0;
        }
        else if(num < numz)
        {
            return 1;
        }
    }

    if(jl<2)
    {
        return 0;
    }
    if (numz != 0 && num < numz)
    {
        return 1;
    }
    if (numz != 0 && num > numz)
    {
        return 2;
    }

    jg = max(jg,jl);
    return 1;
}
int main() {
    cin >> n >> s;
    for (int i = 1; i < n; i++)
    {
        pd(i);
    }
    if (jg == 0)
        cout << -1;
    else
    cout << jg;
}
全部评论
jg==坚果(逃
点赞 回复 分享
发布于 2021-01-15 22:27

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务