#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;
#define inf INT_MAX
#define MOD (long long)(1e9+7)
#define int long long
int inv(int base){
// int p = 3;
int p = MOD-2;
int ret = 1;
int cur = base;
while(p){
if(p&1){
ret = ret*cur%MOD;
}
cur = cur*cur%MOD;
p >>= 1;
}
return ret;
}
#undef int
int draw_territory(int N, int A, int B,vector<int> D, vector<int> L) {
long long M = L[0]+1;
long long cnt = A*M%MOD*(M+1)%MOD*inv(2)%MOD;
long long dist = B*((M%MOD*(M+1)%MOD*(2*M+1)%MOD*inv(6)%MOD-(M%MOD*(M+1)%MOD*inv(2)%MOD)+MOD)%MOD)%MOD;
return (cnt+dist)%MOD;
}
#undef inf
// int main(){
// cout << inv(2) << endl;
// cout << 2*inv(2)%MOD << endl;
// cout << draw_territory(3,1,0,vector<int>{0,0,0},vector<int>{3,3,3});
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |