当前位置: 首页> 文旅> 美景 > D - Pedometer (abc367)

D - Pedometer (abc367)

时间:2025/7/13 3:00:41来源:https://blog.csdn.net/m0_74310050/article/details/141297425 浏览次数:0次

题意:有n个休息取,休息区按顺时针顺序编号为1,2,。。N从休息区i顺时针到i+1需要ai步,从休息区s顺时针到休息区t的最小步数是m的倍数,求(s,t)的可能对数

分析:前缀和为p,pt-ps为m的倍数,ps%m==pt%m,统计pi%m的个数即可,s到t之间不超过n个休息区

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m;
int main(){cin>>n>>m;ll a[n+10],cnt[m+10];memset(cnt,0,sizeof(cnt));ll sum=0,ans=0;for(int i=1;i<=n;i++){cin>>a[i];ans+=cnt[sum%m];cnt[sum%m]++;sum+=a[i];}ll s=sum;sum=0;for(int i=1;i<=n;i++){cnt[sum%m]--;ans+=cnt[s%m];s+=a[i];sum+=a[i];}cout<<ans<<endl;
}

关键字:D - Pedometer (abc367)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: