Cod sursa(job #1028814)

Utilizator airineivAirinei Vasile airineiv Data 14 noiembrie 2013 18:21:40
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
#include <iomanip>

using namespace std;


int main(void)
{
	ifstream fin("aria.in");
	ofstream fout("aria.out");
	fin>>fixed>>setprecision(7);

	int n=0;
	fin>>n;
	vector<long double> vecX, vecY;
	vecX.reserve(n+1);
	vecY.reserve(n+1);
	
	for(int i=0; i<n; i++)
	{
		long double x, y;
		fin>>x>>y;

		vecX.push_back(x);
		vecY.push_back(y);
	}
	vecX.push_back(vecX[0]);
	vecY.push_back(vecY[0]);

	long double sum = 0.0;
	for(int i=0; i<n; i++)
	{
		sum += ((vecX[i] * vecY[i+1]) - (vecX[i+1] * vecY[i]));
	}
	if(sum < 0)
		sum *= -1;

	long double aria = sum * 0.5;

	fout<<fixed<<setprecision(7)<<aria<<endl;
	return 0;
}