Cod sursa(job #2655171)

Utilizator razvan1403razvan razvan1403 Data 3 octombrie 2020 14:07:53
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.21 kb
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define l long
#define d double
#define fo(i, n) for (i = 0; i < n; i++)
#define si(x) scanf('%d', &x)
#define sl(x) scanf('%lld', &x)
#define ss(s) scanf('%s', s) 
#define pi(x) printf('%d', x)
#define pl(x) printf('%lld', x)
#define ps(s) printf('%s', s) 
#define pb push_back 
#define mp make_pair 
#define F first 
#define S second 
#define all(x) x.begin(), x.end() 
#define clr(x) memset(x, 0, sizeof(x))
#define sortall(x) sort(all(x)) 
typedef pair<int, int> pii; 
typedef pair<ll, ll> pl; 
typedef vector<int> vi; 
typedef vector<ll> vl; 
typedef vector<pii> vpii;
#define infile "aria.in"
#define outfile "aria.out"

struct point
{
    ld x,y;
};

point first,second,third;

int main()
{
    fstream f;
    f.open(infile,ios::in);
    ld area = 0;
    int n = 0;
    f>>n;
    f>>first.x>>first.y;
    third =first;
    for(int i = 2; i<= n;i++)
    {
        f>>second.x>>second.y;
        area = area + third.x*second.y - third.y*second.x;
        third = second;
    }
    area = area + first.y*second.x - second.y*first.x;
    f.close();
    f.open(outfile,ios::out);
    f<<fixed<<setprecision(8)<<area/2.0;
    f.close();
    return 0;
}