Cod sursa(job #2188763)

Utilizator remus88Neatu Remus Mihai remus88 Data 27 martie 2018 14:08:12
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <iomanip>
#define Nmax 100009

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

typedef pair<double,double> point;
#define x first
#define y second

int n;
point v[Nmax];

void ReadInput() {

    f>>n;
    for (int i=1; i<=n; ++i) {

        f>>v[i].x>>v[i].y;
    }
}

double arie(point v[Nmax]) {

    double sum=0;

    for (int i=1; i<n; ++i) {

        sum += ( (v[i].x * v[i+1].y) - (v[i+1].x * v[i].y) );
    }

    sum += ( (v[n].x * v[1].y) - (v[1].x * v[n].y) );

    sum=sum * 0.5;

    return sum;
}

void Solve() {

    int sol= (int) arie(v);

    int nrc=0;
    while(sol>0) {
        ++nrc;
        sol=sol/10;
    }

    g<<setprecision(nrc+5)<<arie(v);
}

int main() {

    ReadInput();
    Solve();
    f.close(); g.close();
    return 0;
}