我这连快速乘法都拯救不了的的暴力破解

#include<bits/stdc++.h>
using namespace std;
int ele[100000]={0};
int col[100000]={0};
long long fast_mul(long long a,long long b)
{
    long long con=0;
    while(b)
    {
        if(b&1)con=(con+a)%10007;
        a=(a+a)%10007;
        b>>=1;
    }
    return con;
} 
int main()
{
    long long m=0,n=0,sum=0;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&ele[i]);
    }
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&col[i]);
    }
    for(int i=1;i<=n-2;i++)
    {
        for(int j=i+1;j<=n-1;j++)
        {
            for(int k=j+1;k<=n;k++)
            {
                if((k-j==j-i)&&col[k]==col[i])
                    {
                        sum=sum+fast_mul((k+i),(ele[k]+ele[i]))%10007;
                        sum%=10007;
                    }
            }
        }
    }
    printf("%lld",sum);
    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务