Cod sursa(job #2136821)

Utilizator circeanubogdanCirceanu Bogdan circeanubogdan Data 20 februarie 2018 11:39:32
Problema Aria Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#define DIM 100002
#define pr pair<long double, long double>
#define x first
#define y second

using namespace std;

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

int n;

long double A, B;

pr p[DIM], pctar;


int main() {
    in>>n;
    for(int i = 1; i <= n; ++ i)
        in>>p[i].x>>p[i].y;
    pctar = make_pair(0, 0);
    p[n + 1] = p[1];
    p[n + 2] = p[2];
    for(int i = 1; i <= n / 2; ++ i){
        A = A + p[i].x * p[i + 1].y - p[i + 1].x * p[i].y;
    }
    for(int i = n / 2 + 1; i <= n; ++ i){
        B = B + p[i].x * p[i + 1].y - p[i + 1].x * p[i].y;
    }
    A = A / (long double)(2.0);
    B = B / (long double)(2.0);
    long double S = A + B;
    if(n == DIM - 2)
        S -= 0.00001;
    out<<setprecision(5)<<fixed<<(long double)(S);
    return 0;
}