Cod sursa(job #2181532)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 21 martie 2018 18:42:33
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#define dimn 100005
#define ld long double
#define y first
#define x second
#include <iomanip>

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

int N;
std::pair <ld, ld> pct[dimn];

ld arie(std::pair <ld, ld> pct[]) {
    ld S=0;
    for (int i=0; i<N; i++)
        S += pct[i].x * pct[(i+1)%N].y - pct[i].y * pct[(i+1)%N].x;
    if(S<0) S = -S;
    S = S/2;
    return S;
}

void citire() {
    f >> N;
    for (int i=0; i<N; i++)
        f >> pct[i].y >> pct[i].x;
}
void rezolvare() {
    g << std::setprecision(6) << std::fixed << arie(pct);
}

int main()
{
    citire();
    rezolvare();

    return 0;
}