Cod sursa(job #1204778)

Utilizator mucalmicmarcel almic mucalmic Data 3 iulie 2014 22:14:49
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <stdio.h>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <string.h>
#include <set>

#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, x, ax, ay, tx = 0, ty = 0, px = 0, py = 0, y;
	char c;
	
	scanf("%d", &n);
	
	scanf ("%d %d", &ax, &ay);
	
	if (n > 1) {
		scanf ("%d %d", &px, &py);
		tx = py;
		ty = -px;
	}
		
	long long a = 0;
	for (i = 2; i < n; i++) {
		scanf ("%d %d", &x, &y);
		a += (long long)y*(long long)(px) - (long long)x*(long long)py;
		px = x;
		py = y;
	}
	
	tx -= py;
	ty += px;
	
	a += (long long)ax*(long long)tx + (long long)ay*(long long)ty;
	
	printf("%lf\n", (double)a/2);
	
	return 0;
	
}