提交时间:2024-11-21 13:30:49
运行 ID: 34993
#include<bits/stdc++.h> #define int long long using namespace std; const int mod=1e9+7; inline int qpow(int a,int b){ int ans=1; while(b){ if(b&1)ans=ans*a%mod; a=a*a%mod; b>>=1; } return ans; } inline int ALL(int l,int r){return (qpow(2,r+1)-qpow(2,l)+mod)%mod;} inline int re(int r){ int t=((r+1)/2)*3%mod; if(r%2==0)(t+=1)%=mod; return t; } inline int rem(int l,int r){return (re(r)-re(l-1)+mod)%mod;} signed main(){ // freopen("bala.in","r",stdin); // freopen("bala.out","w",stdout); int l,r; cin>>l>>r; int t=(ALL(l,r)-rem(l,r)+mod)%mod; (t*=qpow(3,mod-2))%=mod; cout<<t<<endl; return 0; }