Submission #19785

# Submission time Handle Problem Language Result Execution time Memory
19785 2016-02-25T05:36:43 Z hongjun7 창문 (kriii4_C) C++
3 / 100
0 ms 1084 KB
#include <stdio.h>
const int mod = 1e9 + 7;
long long f(long long a, long long b) {
	if (b == 0) return 1;
	if (b == 1) return a;
	long long v = f(a, b / 2);
	v = (v*v) % mod;
	if (b & 1) v = (v*a) % mod;
	return v;
}
long long mul(long long a, long long b) {
	a %= mod; b %= mod;
	if (a < 0) a += mod;
	if (b < 0) b += mod;
	return (a*b) % mod;
}
long long div(long long a, long long b) {
	return (a * f(b, mod - 2)) % mod;
}
long long n, m;
long long p1, q, p2, p3, p4, p, v;
int main() {
	scanf("%lld%lld", &n, &m); n %= mod; m %= mod;
	q = mul(mul(mul(n, n + 1), m), m + 1);
	p1 = mul(mul(mul(mul(mul(mul(9, m), m + 1), n), n + 1), n + 1), m + 1);
	p2 = mul(mul(mul(mul(mul(mul(3, m), m + 1), n), n + 1), 2 * n + 1), -1 - m);
	p3 = mul(mul(mul(mul(mul(m, m + 1), 2 * m + 1), n), n + 1), 2 * n + 1);
	p4 = mul(mul(mul(mul(mul(mul(3, m), m + 1), 2 * m + 1), n), n + 1), -n - 1);
	if (p1 < 0) p1 += mod;
	if (p2 < 0) p2 += mod;
	if (p3 < 0) p3 += mod;
	if (p4 < 0) p4 += mod;
	p = (p1 + p2 + p3 + p4) % mod;
	printf("%lld", div(p, q));
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1084 KB Output is correct
2 Correct 0 ms 1084 KB Output is correct
3 Correct 0 ms 1084 KB Output is correct
4 Correct 0 ms 1084 KB Output is correct
5 Correct 0 ms 1084 KB Output is correct
6 Correct 0 ms 1084 KB Output is correct
7 Correct 0 ms 1084 KB Output is correct
8 Correct 0 ms 1084 KB Output is correct
9 Correct 0 ms 1084 KB Output is correct
10 Correct 0 ms 1084 KB Output is correct
11 Correct 0 ms 1084 KB Output is correct
12 Correct 0 ms 1084 KB Output is correct
13 Correct 0 ms 1084 KB Output is correct
14 Correct 0 ms 1084 KB Output is correct
15 Correct 0 ms 1084 KB Output is correct
16 Correct 0 ms 1084 KB Output is correct
17 Correct 0 ms 1084 KB Output is correct
18 Correct 0 ms 1084 KB Output is correct
19 Correct 0 ms 1084 KB Output is correct
20 Correct 0 ms 1084 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1084 KB Output is correct
2 Correct 0 ms 1084 KB Output is correct
3 Correct 0 ms 1084 KB Output is correct
4 Correct 0 ms 1084 KB Output is correct
5 Correct 0 ms 1084 KB Output is correct
6 Correct 0 ms 1084 KB Output is correct
7 Correct 0 ms 1084 KB Output is correct
8 Correct 0 ms 1084 KB Output is correct
9 Correct 0 ms 1084 KB Output is correct
10 Correct 0 ms 1084 KB Output is correct
11 Correct 0 ms 1084 KB Output is correct
12 Correct 0 ms 1084 KB Output is correct
13 Correct 0 ms 1084 KB Output is correct
14 Correct 0 ms 1084 KB Output is correct
15 Correct 0 ms 1084 KB Output is correct
16 Correct 0 ms 1084 KB Output is correct
17 Correct 0 ms 1084 KB Output is correct
18 Correct 0 ms 1084 KB Output is correct
19 Correct 0 ms 1084 KB Output is correct
20 Correct 0 ms 1084 KB Output is correct
21 Incorrect 0 ms 1084 KB Output isn't correct
22 Halted 0 ms 0 KB -