Cod sursa(job #2634391)

Utilizator KlinashkaDiacicov Calin Marian Klinashka Data 10 iulie 2020 19:11:55
Problema Aria Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;

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

typedef pair<double, double> pd;

const int NMAX=1e5;

int N;
pair<double,double> P[NMAX+2];

double trap(pd a, pd b) {
	double S=(a.first+b.first)*(b.second-a.second)/2.0;
	return S;
}

int main() {
	double A=0;
	fin>>N;
	for(int i=1;i<=N;++i) {
		fin>>P[i].first>>P[i].second;
	}
	P[N+1]=P[1];
	for(int i=1;i<=N;++i) {
		A+=trap(P[i], P[i+1]);
	}
	A=(A>=0)?A:-A;
	fout<<fixed<<setprecision(6)<<A<<'\n';
	return 0;
}