제출 #1198292

#제출 시각아이디문제언어결과실행 시간메모리
1198292adiyer육각형 영역 (APIO21_hexagon)C++20
30 / 100
19 ms3400 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int dx[6] = {0, 1, 1, 0, -1, -1};
const int dy[6] = {2, 1, -1, -2, -1, 1};
const int mod = 1e9 + 7;
const int N = 1e5 + 11;
const int inf = 1e9 + 11;

ll res, a, b, sum;

int draw_territory(int N, int A, int B, vector < int > D, vector < int > L) {
    a = A, b = B;
    int x = 0, y = 0, nx, ny;
    for(int i = 0; i < N; i++){ 
        D[i]--, nx = x + dx[D[i]] * L[i], ny = y + dy[D[i]] * L[i];
        if(nx || ny) res += 1ll * x * ny - 1ll * nx * y;
        sum += L[i], x = nx, y = ny;
    }
    if(res < 0) res *= -1;
    res /= 2, res = (res - sum) / 2 + 1;
    int ans = ((res + sum) % mod * A) % mod;
    return ans;
}

  
#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...