Submission #1294940

#TimeUsernameProblemLanguageResultExecution timeMemory
1294940trvhungHexagonal Territory (APIO21_hexagon)C++20
0 / 100
1 ms580 KiB
#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long

const int MOD = (int) 1e9 + 7;

int draw_territory(int N, int A, int B, vector<int> D, vector<int> L) {
	int x = 0, y = 0;
	ll boundary = 0, s = 0;

	for (int i = 0; i < N; ++i) {
		int nx = x, ny = y;

		if (D[i] == 1)
			ny += L[i];
		else if (D[i] == 2)
			nx += L[i];
		else if (D[i] == 3)
			nx += L[i], ny -= L[i];
		else if (D[i] == 4)
			ny -= L[i];
		else if (D[i] == 5)
			nx -= L[i];
		else
			nx -= L[i], ny += L[i];

		boundary += L[i];
		s += 1LL * (ny + y) * (nx - x);

		x = nx, y = ny;
	}

	s = abs(s) / 2;

	ll interior = s - boundary / 2 + 1;

	return (interior + boundary) % MOD;
}
#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...