Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- long long int t,i,k,l,n,j,fib[300005],tmp,diff,sam,sum,sam2;
- scanf("%lld",&t);
- while (t--)
- {
- sum=0;
- scanf("%lld%lld",&k,&n);
- for(i=0;i<k;i++)
- {
- fib[i]=i%1000007;
- sum+=i%1000007;
- }
- fib[k]=sum%1000007;
- tmp=k+1;
- for(i=tmp;i<n;i++) {
- /* sam=(2*fib[i-1])%1000007;
- sam2=fib[i-1-k]%1000007;
- fib[i]=(sam-sam2)%1000007;*/
- fib[i]=(2*fib[i-1]-fib[i-k-1])%1000007;
- }
- printf("%lld\n",fib[n-1]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement