Cod sursa(job #1871231)

Utilizator SolcanMihaiSolcan Mihai Andrei SolcanMihai Data 7 februarie 2017 11:03:58
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <cstdio>
#include <utility>

using namespace std;

int n;
pair<double, double> varfuri[100005];

void citire()
{
    scanf("%d", &n);

    double tmp1, tmp2;

    for(long long i = 0; i < n; i++)
    {
        scanf("%lf %lf", &tmp1, &tmp2);

//        tmp1 += 10000001;
//        tmp2 += 10000001;

        varfuri[i] = make_pair(tmp1, tmp2);
    }

    varfuri[n] = varfuri[0];
}

void calculareArie()
{
    double arie = 0;

    for(long long i = 0; i < n; i++)
    {
        arie += (varfuri[i].second + varfuri[i + 1].second) * (varfuri[i + 1].first - varfuri[i].first) / 2;
    }

    printf("%lf", -arie);
}

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

    citire();
    calculareArie();

    return 0;
}