Cod sursa(job #2136795)

Utilizator circeanubogdanCirceanu Bogdan circeanubogdan Data 20 februarie 2018 11:13:46
Problema Aria Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#define DIM 100002
#define INF 1e9 + 1
#define pr pair<double, double>
#define x first
#define y second

using namespace std;

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

int n;

double A;

pr p[DIM], pctar;

double det(pr a, pr b, pr c){
    return a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y);
}

int main(int argc, const char * argv[]) {
    in>>n;
    for(int i = 1; i <= n; ++ i)
        in>>p[i].x>>p[i].y;
    pctar = make_pair(INF, INF);
    p[n + 1] = p[1];
    for(int i = 1; i <= n; ++ i)
        A += det(p[i], p[i + 1], pctar);
    out<<setprecision(5)<<fixed<<(double)(A / 2.0);
    return 0;
}