Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32379 方巾予 【S】T1 C++ 通过 100 313 MS 2604 KB 1030 2024-09-08 16:17:30

Tests(20/20):


#include<bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10,MOD=998244353; int n,m,k,a[N],b[N],val,ans; int tong[N]; int check(int x,int y){ memset(tong,0,sizeof(tong)); int ans1=0,ans2=0; tong[0]=1; for(int i=1;i<=n;i++){ if(a[i]>=x) ans1+=tong[a[i]-x]; tong[a[i]]++; ans1%=MOD; } memset(tong,0,sizeof(tong)); tong[0]=1; for(int i=1;i<=m;i++){ if(b[i]>=y) ans2+=tong[b[i]-y]; tong[b[i]]++; ans2%=MOD; } return (ans1*ans2)%MOD; } signed main(){ ans=0; cin>>n>>m>>k; for(int i=1;i<=n;i++){ cin>>a[i]; a[i]+=a[i-1]; } for(int i=1;i<=m;i++){ cin>>b[i]; b[i]+=b[i-1]; } for(int i=1;i*i<=k;i++){ if(k%i==0){ ans+=check(i,k/i); ans%=MOD; if(k/i!=i){ ans+=check(k/i,i); ans%=MOD; } } } cout<<ans; return 0; }


测评信息: