Cod sursa(job #3313330)

Utilizator iccjocIoan CHELARU iccjoc Data 3 octombrie 2025 16:26:39
Problema Aria Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

class Point
{
	public:
		long double x, y;
};

long double determinant(Point A, Point B, Point C)
{
	return A.x * B.y + B.x * C.y + C.x * A.y - A.x * C.y - C.x * B.y - B.x * A.y;
}

int main()
{
	freopen("aria.in", "r", stdin);
	freopen("aria.out", "w", stdout);
	int n;
	cin >> n;
	vector<Point> polygon(n);
	for(int i = 0; i < n; i++)
	{
		cin >> polygon[i].x >> polygon[i].y;
	}
	long double area = 0;
	for(int i = 0; i < n - 1; i++)
	{
		long double det = determinant({0, 0}, polygon[i], polygon[i + 1]);
		//cout << det << "\n";
		area += det;
	}
	area += determinant({0, 0}, polygon[n - 1], polygon[0]);
	cout << area / 2.0 << "\n";
}