提交时间:2026-10-29 14:09:27

运行 ID: 43396

#include <bits/stdc++.h> using namespace std; const int N=1e6+9; int n,p,a[N],b[N],c[N],v[N],dp[N]; int main(){ cin>>n>>p; for(int i=1;i<=p;i++)v[i]=-1; for(int i=1;i<=n;i++){ cin>>a[i]; b[i]=(b[i-1]+a[i])%p; c[i]=v[b[i]],v[b[i]]=i; } for(int i=1;i<=n;i++){ dp[i]=dp[i-1]; if(c[i]!=-1)dp[i]=max(dp[i],dp[c[i]]+1); } cout<<dp[n]; return 0; }