Cod sursa(job #1204785)

Utilizator mucalmicmarcel almic mucalmic Data 3 iulie 2014 23:10:29
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <stdio.h>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <string.h>
#include <set>
#include <math.h>

#define N 1000001

#define max(a,b) ((a) >= (b) ? (a) : (b))

using namespace std;

int compare (const void * a, const void * b)
{	
  return ( *(int*)a - *(int*)b );
}


int v[N], f[N] = {0};


int main () {

	FILE *fi, *g;
	fi = freopen("aria.in", "r", stdin);
	g = freopen("aria.out", "w", stdout);

	int i, j, k, n;
	long double x, ax, ay, tx = 0, ty = 0, px = 0, py = 0, y;
	char c;
	
	scanf("%d", &n);
	scanf ("%Lf %Lf", &ax, &ay);
	
	if (n > 1) {
		scanf ("%Lf %Lf", &px, &py);
		tx = py;
		ty = -px;
	}
		
	long double a = 0;
	for (i = 2; i < n; i++) {
		scanf ("%Lf %Lf", &x, &y);
		a += y*px - x*py;
		//printf("a %lld\n", a);
		px = x;
		py = y;
	}
	
	tx -= py;
	ty += px;
	
	a += ax*tx + ay*ty;
	
	printf("%Lf\n", a/2);
	
	return 0;
	
}