Cho ba số nguyên dương a, b, m. Các số cách nhau một ký tự trắng.
Yêu cầu: Tính tổng các số nguyên trong đoạn [a..b], rồi chia kết quả cho m lấy phần dư.
Dữ liệu: Vào từ tệp văn bản CAU2.INP gồm ba số nguyên dương a, b, m (1 ≤ a < b≤105; 1 < m ≤ 109).
Kết quả: Ghi ra tệp văn bản CAU2.OUT số dư tìm được.
Ví dụ:
CAU2.INP CAU2.OUT Giải thích
3 6 7 4 Ta có 3+4+5+6 = 18 chia 7 dư 4
13 19 21 7 Ta có 13+14+15+16+17+18+19 = 112 chia 21 dư 7
Viết chương trình C++ giúp mình với
#include <bits/stdc++.h>
using namespace std;
#define nmax 1000007
#define ll long long
long long a[nmax];
long long gt(long long a)
{
return a*(a+1)/2;
}
signed main()
{
long long n, m, q;
cin >> n >> m >> q;
cout << (gt(m) - gt(n-1)) % q;
}