Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32303 李羽乔 【S】T1 C++ 运行超时 90 1000 MS 6544 KB 1123 2024-09-08 14:57:34

Tests(18/20):


#include<bits/stdc++.h> using namespace std; const int N = 1e5+10,md = 998244353; #define int long long int n,m,k,a[N],b[N],sum[N],sum2[N]; int ans; map<int,int> mp; signed main(){ ios::sync_with_stdio(false); cin>>n>>m>>k; for(int i=1;i<=n;i++){ cin>>a[i]; sum[i]=sum[i-1]+a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; sum2[i]=sum2[i-1]+b[i]; } for(int i=1;i<=sqrt(k);i++){ if(k%i==0){ int z=k/i; int x=0; mp.clear(); for(int j=0;j<=n;j++){ if(i<=sum[j]) x=(x%md+mp[sum[j]-i]%md); mp[sum[j]]++; } mp.clear(); int y=0; for(int j=0;j<=m;j++){ if(z<=sum2[j]) y=(y%md+mp[sum2[j]-z]%md); mp[sum2[j]]++; } //cout<<x<<" "<<y<<endl; ans=(ans%md+x%md*y%md)%md; if(i==z) continue; mp.clear(); x=0; for(int j=0;j<=n;j++){ if(z<=sum[j]) x=(x%md+mp[sum[j]-z]%md); mp[sum[j]]++; } mp.clear(); y=0; for(int j=0;j<=m;j++){ if(i<=sum2[j]) y=(y%md+mp[sum2[j]-i]%md); mp[sum2[j]]++; } //cout<<x<<" "<<y<<endl; ans=(ans%md+x%md*y%md)%md; } } cout<<ans<<endl; return 0; }


测评信息: