Cod sursa(job #1871126)

Utilizator TimitocArdelean Andrei Timotei Timitoc Data 7 februarie 2017 10:36:21
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <cstdio>
#define MAXN 100050

using namespace std;

int n;
double xes[MAXN], yes[MAXN];

void read()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        scanf("%lf %lf", &xes[i], &yes[i]);
    xes[n+1] = xes[1];
    yes[n+1] = yes[1];
}

double arie(double x1, double y1, double x2, double y2) /// Aria trapezului
{
    return (x2-x1)*(y1+y2)/2;
}

double solve()
{
    double a = 0;
    for (int i = 1; i <= n; i++)
        a += arie(xes[i], yes[i], xes[i+1], yes[i+1]);
    return -a;
}

int main()
{
    freopen("aria.in", "r", stdin);
    freopen("aria.out", "w", stdout);

    read();
    double rez = solve();
    printf("%lf", rez);

    return 0;
}