Cod sursa(job #2287191)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 21 noiembrie 2018 17:23:35
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("aria.in");
ofstream out("aria.out");

typedef long double ld;

const int MAXN = 1e5;

int n;
pair<ld, ld> point[MAXN + 2];
ld ans = 0;

ld det(pair<ld, ld> p1, pair<ld, ld> p2) {
	return (p1.first * p2.second) - (p2.first * p1.second);
}

int main() {
	in >> n;

	for (int i = 0; i < n; ++ i) {
		ld x, y;
		in >> x >> y;
		x += 1000000.0;
		y += 1000000.0;
		point[i] = {x, y};
	}
	point[n] = point[0];

	if (n >= 3) {
		for (int i = 1; i <= n; ++ i) {
			ans += det(point[i - 1], point[i]);
		}
	}

	out << fixed << setprecision(6) << ans / 2.0;

	return 0;
}