码迷,mamicode.com
首页 > 其他好文 > 详细

B.Maximal Continuous Rest

时间:2019-03-21 13:17:29      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:代码   com   names   cout   题意   ace   include   its   turn   

链接:https://codeforces.com/contest/1141/problem/B

题意:

给n个数,0代表工作,1代表休息,求能连续最大的休息长度。

可以连接首尾。

思路:

求普通连续,当第一个时间和最后一个时间都休息的时候加上去判断一下。

代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long LL;

const int MAXN = 2e5;
int r[MAXN];

int main()
{
    int flag = 1;
    int n, o;
    int pos = 1;
    int res = 0;
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        cin >> o;
        if (o == 1)
            r[pos]++;
        else
            pos++;
        if (i == 1 && o == 0)
            flag = 0;
        if (i == n && o == 0)
            flag = 0;
        res = max(res, r[pos]);
    }
    if (flag)
        res = max(res, r[1] + r[pos]);
    cout << res << endl;

    return 0;
}

  

B.Maximal Continuous Rest

标签:代码   com   names   cout   题意   ace   include   its   turn   

原文地址:https://www.cnblogs.com/YDDDD/p/10570950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!