为什么最后a[n]要加m在%m
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[1000000];
int m=100003;
int main(){
ios::sync_with_stdio(false);
cin>>n>>k;
a[0]=a[1]=1;
for(int i=2;i<=n;i++)
if(i<=k) a[i]=a[i-1]*2%m;
else a[i]=(a[i-1]*2-a[i-k-1])%m;
cout<<(a[n]+m)%m;
return 0;
}