Source Code
#include <bits/stdc++.h>
#define ll long long
#define pp push_back
#define ff first
#define ss second

using namespace std;

ll w,m,mm,h,r,l,ii,i1,jj,a,x[1000001],y[1000001],z,zz,g,aa,bb,b,c,d[100001],k,vis,kk,mod=1e9+7,q,inf=1e18;
ll T,i,j,n;
vector <ll> v[1000001],vv;
pair <ll,ll> p;
map <ll,ll> mp,mpp,mppp;
set <ll> see;
set <ll> se;
set <ll> :: iterator it,itt,it1;
string s,s2,s1,t;
char cc;

int main()
{
    ios::sync_with_stdio(0);
    cin >> l >> r >> a >> b >> k;
    z=((l*a)%mod)+(((l-1)/k*b)%mod);
    z%=mod;
    z*=(r-l+1);
    z%=mod;
    r-=l;
    z+=((r*(r+1)/2*a)%mod);
    z%=mod;
    if(l%k!=0)
        r-=(k-(l%k));
    q=(r-1)/k+1;
    aa=q;
    q=q*(q+1)/2;
    q%=mod;
    q*=k;
    q%=mod;
    if(r%k!=0)
        q-=(k-(r%k))*aa;
    q+=mod;
    q%=mod;
    z+=(q*b)%mod;
    z%=mod;
    cout << z;
    return 0;
}
/*


*/
Copy
Practice Practice Khaled_Mardini
GNU G++11
14 ms
24.3 MB
Wrong Answer