Cod sursa(job #2181289)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 21 martie 2018 16:27:38
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>
#define y first
#define x second
#include <iomanip>
#define mp std::make_pair

std::ifstream f("aria.in");
std::ofstream g("aria.out");

std::vector <std::pair <int, int>> sir;

long double arie() {
    long double S=0;
    if(sir.size()<2) return 0;

    int n = sir.size();
    for (int i=0; i<n; i++)
        S = S + 1LL * sir[i%n].x * sir[(i+1)%n].y - 1LL * sir[i%n].y * sir[(i+1)%n].x;
    if(S<0) S = -S;
    return S/2;
}

void rezolvare() {
    int q; f>>q;
    int t;

    int y, x;
    while(q--) {
        f >> y >> x;
        sir.push_back(mp(y, x));
    }

    g << std::fixed << std::setprecision(5) << arie();
}

int main()
{
    rezolvare();

    return 0;
}