Submission #19670

#TimeUsernameProblemLanguageResultExecution timeMemory
19670tonyjjw창문 (kriii4_C)C++14
3 / 100
0 ms1720 KiB
//* #include <stdio.h> #include <string.h> #include <ctype.h> #include <time.h> #include <stdlib.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <numeric> #include <functional> #define MOD 1000000007 #define MAX 0x3f3f3f3f #define MAX2 0x3f3f3f3f3f3f3f3fll #define ERR 1e-10 #define mp make_pair #define all(x) (x).begin(), (x).end() #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef long double ldb; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef pair<double, double> pdd; ll mul_inv(ll a, ll b=MOD) { ll b0=b, t, q; ll x0=0, x1=1; if(b == 1) return 1; while(a > 1) { q=a/b; t=b, b=a%b, a=t; t=x0, x0=x1-q*x0, x1=t; } if(x1 < 0) x1+=b0; return x1; } ll n, m; ll ij, iij, ijj, iijj; ll n1, n2, m1, m2; int main() { int i, j, k; cin>>n>>m; n%=MOD, m%=MOD; n1=n*(n+1)/2%MOD; m1=m*(m+1)/2%MOD; n2=n*(n+1)%MOD*(2*n+1)%MOD*mul_inv(6)%MOD; m2=m*(m+1)%MOD*(2*m+1)%MOD*mul_inv(6)%MOD; ij=n1*m1%MOD; iij=n2*m1%MOD; ijj=n1*m2%MOD; iijj=n2*m2%MOD; ll ans=(n+1)%MOD*(m+1)%MOD*ij%MOD; ans+=-(m+1)*iij%MOD; ans+=-(n+1)*ijj%MOD; ans+=iijj%MOD; ans%=MOD; ans*=9, ans%=MOD; ans+=MOD, ans%=MOD; ans*=mul_inv(ij); ans%=MOD; cout<<ans; return 0; } //*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...