Cod sursa(job #1196593)
| Utilizator | Data | 8 iunie 2014 14:59:49 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include<stdio.h>
#include<assert.h>
#include<math.h>
#define MAX 100005
int main () {
int N,i;
double X[MAX],Y[MAX],A=0;
assert(freopen("aria.in","r",stdin));
assert(freopen("aria.out","w",stdout));
assert(scanf("%d",&N)==1);
assert(1<=N && N<=100000);
for(i=0;i<N;i++) {
assert(scanf("%lf%lf",&X[i],&Y[i])==2);
assert(-10000000<=X[i] && X[i]<=10000000);
assert(-10000000<=Y[i] && Y[i]<=10000000);
}
X[N]=X[0];
Y[N]=Y[0];
for(i=0;i<N;i++)
A=A+(X[i]*Y[i+1]-X[i+1]*Y[i]);
A=A/2;
printf("%.5lf",fabs(A));
fclose(stdout);
fclose(stdin);
return 0;
}
