Cod sursa(job #1545192)

Utilizator ionutmodoModoranu Ionut-Vlad ionutmodo Data 6 decembrie 2015 15:33:58
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
/*
	http://www.infoarena.ro/problema/aria
*/
#pragma warning(disable:4996)
#include <stdio.h>
using namespace std;

struct point { int x, y; };

point puncte[100000];
int N;
double solutia;

void read()
{
	freopen("aria.in", "r", stdin);
	scanf("%d", &N);
	for (int i = 0; i < N; ++i)
	{
		scanf("%d %d", &puncte[i].x, &puncte[i].y);
	}
}

double aria(point A, point B, point C)
{
	int first = A.x * B.y + B.x + C.y + C.x * A.y;
	int second = C.x * B.y + A.x * C.y + B.x * A.y;
	return (first - second) / 2.;
}

void solve()
{

	for (int i = 2; i < N; ++i)
	{
		solutia += aria(puncte[0], puncte[i - 1], puncte[i]);
	}
}

void write()
{
	freopen("aria.out", "w", stdout);
	printf("%.5lf\n", solutia);
}

int main()
{
	read();
	solve();
	write();
	return 0;
}