# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1197989 | adiyer | Hexagonal Territory (APIO21_hexagon) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
int draw_territory(int N, int A, int B, vector < int > D, vector < int > L) {
ll cnt = 0;
for(int i = 0; i < N; i++) cnt += L[i];
for(int i = 0; i < N; i++){
assert(L[i] == L[0]);
}
cnt = (cnt) * A + (((cnt * (cnt + 1)) / 2) % mod) * B;
cnt %= mod;
int ans = cnt;
return ans;
}
int main() {
int N, A, B;
assert(3 == scanf("%d %d %d", &N, &A, &B));
std::vector<int> D(N), L(N);
for (int i = 0; i < N; ++i) {
assert(2 == scanf("%d %d", &D[i], &L[i]));
}
int result = draw_territory(N, A, B, D, L);
printf("%d\n", result);
return 0;
}