This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1e9+7;
ll a, b, k;
ll binpow(ll vl, ll idx)
{
if (idx==0) return 1;
ll tmp=binpow(vl, idx/2);
if (idx%2) return (((tmp*tmp)%mod)*vl)%mod;
else return (tmp*tmp)%mod;
}
int draw_territory(int N, int A, int B, std::vector<int> D, std::vector<int> L) {
a=A, b=B, k=L[0]+1;
ll x=((((k)*(k+1)/2)%mod)*a)%mod;
//cout<<"binpow "<<binpow(6, mod-2)<<'\n';
//cout<<"rev "<<(binpow(6, mod-2)*6)%mod<<'\n';
ll y=(((((((b*(k-1))%mod)*(k))%mod)*(2*k-1))%mod)*binpow(6, mod-2))%mod;
//cout<<"here "<<y<<'\n';
y=(((y+(((k)*(k-1)/2)%mod)*b)%mod)%mod+mod)%mod;
return (x+y)%mod;
}
# | 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... |