MT2049 运动会进行中

简介: MT2049 运动会进行中

a5adf76415d5456c9811a65c51fac8b1.jpg

思路:使用a存前缀和。遇见女生-1,遇见男生+1。之后遍历a的时候,如果a[i]=a[j],则说明ij这个区间里男女生数量是一样的。所以即求ij这个区间最大长为多少。可以用l[]r[]数组记录某个数第一次出现的位置和最后一次出现的位置。

例如样例:a[]=-1 0 -1 -2 -3 -2 -1 -2 -3

l[-1]=1     r[-1]=7

l[0]=2      r[0]=2

l[-2]=4      r[-2]=6

l[-3]=5     r[-3]=9

所以答案为7-1=6

代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, m, sum[N], l[N * 2], r[N * 2], ans;
 
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> m; // 0女1男
        if (m == 0)
        {
            sum[i] = sum[i - 1] - 1;
        }
        else
        {
            sum[i] = sum[i - 1] + 1;
        }
        int tmp = sum[i] + n; // sum[i]的范围是-n到n,矫正保证为正数
        if (l[tmp] == 0)
        {
            l[tmp] = i;
        }
        else
        {
            r[tmp] = i;
        }
    }
    for (int i = 0; i < 2 * n; i++)
    {
        ans = max(ans, r[i] - l[i]);
    }
    cout << ans;
    return 0;
}


相关文章
|
2月前
|
机器学习/深度学习 数据挖掘 Go
JCR一区5.2分|RNA修饰如何打开格局,一篇非肿瘤m6A带入门
这篇文章探讨了m6A修饰在绝经后骨质疏松症(PMOP)中的作用,通过生物信息学分析和实验验证,鉴定了7个m6A调节剂作为诊断标志物。研究发现这些调节剂可能影响疾病的亚型分类,并提出了m6A模式作为潜在的治疗靶点。文章提供了PMOP新的分子机制理解,为未来诊断和免疫治疗策略提供了依据。
34 0
|
18天前
|
程序员
老程序员分享:MT【202】内准圆
老程序员分享:MT【202】内准圆
老程序员分享:MT【202】内准圆
|
2月前
|
C++ iOS开发
|
2月前
|
存储
MT3037 新月轩就餐
MT3037 新月轩就餐
|
2月前
|
人工智能 BI
MT3042 这项目我小码哥投了
MT3042 这项目我小码哥投了