TLE,70pts
查看原帖
TLE,70pts
1052995
Happy_mouse楼主2024/9/15 18:24
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=400+5;
int a[N][N],sum[N][N];
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,m,p;
    cin>>n>>m>>p;
    for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j],sum[i][j]=sum[i-1][j]+a[i][j];
    int sm=0;
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            map<int,int>mp;
            map<int,int>rk;
            int cnt=1,s=0;
            mp[1]++;
            rk[0]=1;
            for(int k=1;k<=m;k++){
                s+=sum[j][k]-sum[i-1][k];
                int bm=s%p;
                if(!rk[bm]) rk[bm]=++cnt;
                mp[rk[bm]]++;
            }
            for(int i=1;i<=cnt;i++) sm+=mp[i]*(mp[i]-1)>>1;
        }
    }
    cout<<sm;
	return 0;
}
2024/9/15 18:24
加载中...