Cod sursa(job #2392242)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 29 martie 2019 20:13:25
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include<cstdio>
#define M 1<<16
char r[M];
int e=M,n,i;
double x[100002],y[100002];
long double s;
inline char C()
{
    if(e==M)
        fread(r,1,M,stdin),e=0;
    return r[e++];
}
inline double D()
{
    char c=C(),s='+';
    double a=0;
    for(;c<48||c>57;c=C())
        s=c;
    for(;c>47&&c<58;c=C())
        a=a*10+c-'0';
    if(c=='.')
    {
        double b=0,p=1;
        for(;(c=C())>47&&c<58;p*=10)
            b=b*10+c-'0';
        a+=b/p;
    }
    return s=='-'?-a:a;
}

int main()
{
    freopen("aria.in","r",stdin),freopen("aria.out","w",stdout);
    n=D();
    for(i=0;i<n;i++)
        x[i]=D(),y[i]=D();
    x[n]=x[0],y[n]=y[0];
    for(i=0;i<n;i++)
        s+=(long double)x[i]*y[i+1]-(long double)x[i+1]*y[i];
    printf("%.5Lf",s/2);
}