zoukankan      html  css  js  c++  java
  • JZOJ__Day 2:【普及模拟】串

    题目描述

    给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。

    输入

    一个字符串,只包含01,长度不超过1000000。

    输出

    一行一个整数,最长的0与1的个数相等的子串的长度。

    样例输入

    1011

    样例输出

    2

    数据范围限制

    30%的数据 串的长度<20



    程序:

            

    var
    s:ansistring;
    i,j,min,max,p,l:longint;
    min1,max1:array[-1000001..1000001]of longint;
    begin
        fillchar(min1,sizeof(min1),127);
        min1[0]:=0;
        readln(s);
        min:=maxlongint;
        p:=0;
        max:=0;
        for i:=1 to length(s) do
        if s[i]='1' then
        begin
            inc(p);
            if p>max then max:=p;
            if p<min then min:=p;
            if i<min1[p] then min1[p]:=i;
            if i>max1[p] then max1[p]:=i;
        end else
        begin
            dec(p);
            if p>max then max:=p;
            if p<min then min:=p;
            if i<min1[p] then min1[p]:=i;
            if i>max1[p] then max1[p]:=i;
        end;
        for i:=min to max do
        if l<max1[i]-min1[i] then l:=max1[i]-min1[i];
        write(l);
    end.


  • 相关阅读:
    information_schema
    面包屑路径导航
    mysql5.7.26安装
    菜单权限作为父权限
    权限控制到按钮
    二级菜单
    留言板和jq轮播图
    M商城
    表单
    w3c
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500098.html
Copyright © 2011-2022 走看看