A了吗?
等等,这题好像不需要用倍增啊,直接除法不行吗?
你A了吗?
还没有,且慢
最新代码
额,全输出零
发出来
感觉怪怪的
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1e9+7;
ll n,k,m,cnt,a[1000005],b[1000005];
int main(){
scanf("%lld%lld",&n,&k);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
scanf("%lld",&m);
int now=1;
while(cnt==0||now!=1){
b[++cnt]=(b[cnt-1]+a[now])%mod;
now=(now+k)%n+1;
}
ll cycle=m/cnt;
ll ans=(cycle*b[cnt]%mod+b[m%cnt])%mod;
printf("%lld",ans);
return 0;
}
cnt==0 删掉那不就进不了循环了吗?
那你把循环变成while(0)
然后,如果i==0,退出循环
while(0)是什么鬼?进都进不去
while(1)
A了吗
A了,谢谢
解决方案