Pagini recente » Cod sursa (job #2484863) | Cod sursa (job #2525054) | Cod sursa (job #2598465) | Cod sursa (job #2811086) | Cod sursa (job #1107661)
#include <cstdio>
using namespace std;
struct punct { long long x, y; };
int N;
punct v[100000];
void read() {
scanf("%d", &N);
for(int i = 0; i < N; ++i) {
scanf("%lld%lld", &v[i].x, &v[i].y);
}
}
int main(int argc, char *argv[]) {
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
read();
long long aria = 0;
for(int i = 1; i < N - 1; ++i) {
long long dx1 = v[i].x - v[0].x;
long long dy1 = v[i].y - v[0].y;
long long dx2 = v[i + 1].x - v[0].x;
long long dy2 = v[i + 1].y - v[0].y;
long long det = (dx1 * dy2 - dx2 * dy1);
aria += det;
}
printf("%lld.%d\n", aria / 2, aria % 2 ? 5 : 0);
return 0;
}