Submission #1063800

#TimeUsernameProblemLanguageResultExecution timeMemory
1063800thinknoexitHexagonal Territory (APIO21_hexagon)C++17
9 / 100
1 ms600 KiB
#include "hexagon.h" #include<bits/stdc++.h> using namespace std; using ll = long long; const ll MOD = 1e9 + 7; ll A, B; ll mop(ll a, ll p) { ll ans = 1; for (;p != 0ll;p >>= 1ll, a = a * a % MOD) { if (p & 1ll) ans = ans * a % MOD; } return ans; } int draw_territory(int N, int AA, int BB, vector<int> D, vector<int> L) { // N = 3 A = AA, B = BB; ll l = L[0]; // triangle with l + 1 level ll cnt = (l + 1) * (l + 2) / 2; cnt %= MOD; ll res = cnt * A % MOD; // sum = 1 * 1 - 1 + 2 * 2 - 2 + 3 * 3 - 3 + ... + (l+1) * (l+1) - (l+1) // sum = (l+1)(l+2)(2*l+3)/6 ll sum = (l + 1) * (l + 2) % MOD * (2 * l + 3) % MOD * mop(6, MOD - 2) % MOD; sum = (sum - cnt + MOD) % MOD; res = (res + sum * B % MOD) % MOD; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...