[ 9.12 ]CF每日一题系列—— 960B暴力数组

Posted df-yimeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ 9.12 ]CF每日一题系列—— 960B暴力数组相关的知识,希望对你有一定的参考价值。

Description:

  给你两个数组,顺序一定,问你第一个数组连续的几个值等于下一个数组连续的几个值,然后寻找这个值得最大值,也就是满足就换

Solution:

  用两个变量索引,判断即可

#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 1e6 + 1e3;
int a[maxn],b[maxn];
int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        for(int i = 1;i <= n;++i)
            scanf("%d",&a[i]);
        for(int i = 1;i <= m;++i)
            scanf("%d",&b[i]);
        int cnt = 0;
        int x = 1,y = 1;
        while(x <= n && y <= m)
        {
            if(a[x] == b[y])
            {
                ++x;++y;++cnt;
            }
            else if(a[x] < b[y])
            {
                x++;
                a[x] += a[x-1];
            }
            else if(a[x] > b[y])
            {
                y++;
                b[y] += b[y-1];
            }
        }
        printf("%d
",cnt);
    }
    return 0;
}

 

以上是关于[ 9.12 ]CF每日一题系列—— 960B暴力数组的主要内容,如果未能解决你的问题,请参考以下文章

CF每日一题系列 —— 415A

[ 10.03 ]CF每日一题系列—— 534B贪心

[ 10.4 ]CF每日一题系列—— 486C

[ 10.08 ]CF每日一题系列—— 602B

[ 9.22 ]CF每日一题系列—— 484A Bits

[ 9.28 ]CF每日一题系列—— 940A规律构造