Cod sursa(job #945912)
Utilizator | onisim necula misino | Data | 3 mai 2013 12:47:42 |
---|---|---|---|
Problema | Aria | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<fstream>
#define punct pair<double,double>
#define x first
#define y second
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
int i,n;
punct v[100100];
inline double abs(double x)
{
if(x<0)
return -x;
return x;
}
double aria;
int main()
{
f>>n;
for(i=1;i<=n;++i)
f>>v[i].x>>v[i].y;
v[n+1]=v[1];
v[0]=v[n];
for(i=1;i<=n;++i)
aria=aria+1.0*v[i].x*(v[i+1].y-v[i-1].y);
aria/=2;
aria=abs(aria);
g<<aria<<'\n';
return 0;
}