Cod sursa(job #1116656)

Utilizator BonCipBonciocat Ciprian Mircea BonCip Data 22 februarie 2014 18:48:46
Problema Aria Scor 70
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>

#define N_MAX 100000

double x[ N_MAX ], y[ N_MAX ];

inline double _abs( double t ) {
    return t < 0 ? -t : t;
}

int main( ) {
    FILE * fin, * fout;
    fin = fopen( "aria.in", "r" );
    fout = fopen( "aria.out", "w" );

    int N;
    fscanf( fin, "%d", &N );

    double area = 0;
    int i;
    for( i = 0; i < N; i ++ ) {
        fscanf( fin, "%lf%lf", x + i, y + i );
    }

    for( i = 0; i < N; i ++ ) {
        int j = ( i + 1 ) % N;
        area += ( x[ i ] * y[ j ] - x[ j ] * y[ i ] );
    }

    fprintf( fout, "%.5lf", _abs( area ) / 2.0 );

    fclose( fin );
    fclose( fout );
}