Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32462 郭澍宇 【S】T1 C++ 解答错误 15 82 MS 2028 KB 872 2024-09-08 19:10:02

Tests(3/20):


#include<bits/stdc++.h> #define ll long long using namespace std; const int mod=998244353; int a[100005],b[100005],n,m,c1,c2,s1[100005],s2[100005],cnt[100005];ll k; int calc1(int x){ int res=0; for(int i=0;i<=c1;i++)cnt[i]=0; for(int i=0;i<=n;i++){ if(s1[i]>=x)res+=cnt[s2[i]-x],res%=mod; cnt[s1[i]]++; } return res; } int calc2(int x){ int res=0; for(int i=0;i<=c2;i++)cnt[i]=0; for(int i=0;i<=m;i++){ if(s2[i]>=x)res+=cnt[s2[i]-x],res%=mod; cnt[s2[i]]++; } return res; } int main(){ cin>>n>>m>>k; for(int i=1;i<=n;i++){ cin>>a[i]; c1+=a[i]; s1[i]=s1[i-1]+a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; c2+=b[i]; s2[i]=s2[i-1]+b[i]; } int ans=0; for(int i=1;i<=100005;i++){ if(k%i==0&&i<=c1&&k/i<=c2){ ans+=1ll*calc1(i)*calc2(k/i)%mod; ans%=mod; } } cout<<ans<<endl; return 0; }


测评信息: