| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1336248 | veham | Hexagonal Territory (APIO21_hexagon) | C++20 | 0 ms | 348 KiB |
#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
typedef __int128_t ll;
typedef vector<ll> vl;
ll const MOD = 1e9 + 7;
ll calc_area(int N, vi &D, vi &L) {
ll area = 6LL * N - 3LL * (N-2), y = 0;
vl C1 = {-1,0,6,6,0,-6,-6},C2 = {-1,0,3,0,0,3,0}, C3 = {-1,-1,0,0,1,0,0}, C4 = {-1,1,1,0,-1,-1,0};
// area %= MOD;
for(int i = 0;i < N;i++){
area += C1[D[i]] * L[i] * y + C2[D[i]] * L[i] * L[i];
area += ll(L[i] - 1) * 3;
// area %= MOD;
// area += MOD;
// area %= MOD;
y += C4[D[i]] * L[i];
// y %= MOD;
// y += MOD;
// y %= MOD;
}
if(area < 0) area = -area;
return area/6;
}
int draw_territory(int N, int A, int B, vi D, vi L) {
ll Ar = calc_area(N,D,L);
return (Ar * A) % 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... | ||||
