QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#53902#4838. Rotate Sum 2zhoukangyang#RE 13ms4384kbC++111.3kb2022-10-06 11:47:322022-10-06 11:47:34

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-06 11:47:34]
  • 评测
  • 测评结果:RE
  • 用时:13ms
  • 内存:4384kb
  • [2022-10-06 11:47:32]
  • 提交

answer

#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); ++i)
#define R(i, j, k) for(int i = (j); i >= (k); --i)
#define ll long long
#define sz(a) ((int) (a).size())
#define vi vector < int > 
#define me(a, x) memset(a, x, sizeof(a))
#define ull unsigned long long
#define ld __float128
#define double long double 
using namespace std;
const int N = 1e6 + 7;
double x[N], y[N];
int n;
const double pi = acos(-1);
int main() {
	ios :: sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin >> n;
	double s = 0;
	L(i, 1, n) {
		cin >> x[i] >> y[i];
	}
	L(i, 1, n) {
		s += x[i] * y[i % n + 1] - x[i % n + 1] * y[i];
	}
	s /= 2;
	double ns = 0, tmp = 0, all = 0, qx = 0, qy = 0;
	L(i, 1, n) all += x[i] * x[i] + y[i] * y[i], qx += x[i], qy += y[i];
	L(i, 1, n) {
		int lst = (i + n - 2) % n + 1, nxt = i % n + 1;
		double qc = atan2(y[lst] - y[i], x[lst] - x[i]) - atan2(y[nxt] - y[i], x[nxt] - x[i]);
		if(qc < 0) qc += pi * 2;
		double w = pi - qc;
		assert(w >= 1e-8);
		tmp += w;
		
		double qwq = 0;
		qwq -= 2 * qx * x[i];
		qwq -= 2 * qy * y[i];
		qwq += all;
		qwq += (x[i] * x[i] + y[i] * y[i]) * n;
		ns += qwq * w;
	}
	cout.precision(12), cout << fixed;
	cout << ns / n / 2 + s << '\n';
	return 0;
}
/*
3
1 1
1 -1
-1 2
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 3800kb

input:

3
1 -1
1 1
-1 2

output:

18.763234503174

result:

ok found '18.76323', expected '18.76323', error '0.00000'

Test #2:

score: 0
Accepted
time: 2ms
memory: 3788kb

input:

4
-1000000000 1000000000
-1000000000 -1000000000
1000000000 -1000000000
1000000000 1000000000

output:

16566370614359172464.000000000000

result:

ok found '16566370614359173120.00000', expected '16566370614359173120.00000', error '0.00000'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

10
-54592357 -80406461
-54592497 -80409914
-54583785 -80448527
-54573150 -80452302
-54571418 -80445561
-54573057 -80436942
-54574710 -80428961
-54576431 -80421748
-54581146 -80413624
-54586843 -80406612

output:

3241469216.962166733108

result:

ok found '3241469216.96217', expected '3241469216.96217', error '0.00000'

Test #4:

score: 0
Accepted
time: 2ms
memory: 3788kb

input:

100
19218707 41938436
19227173 41936741
19236439 41934895
19244714 41933329
19263050 41933508
19269952 41935468
19276958 41938057
19283547 41941029
19290649 41944891
19298015 41949938
19301176 41952107
19308530 41957785
19315067 41963572
19323587 41972122
19331125 41980143
19339499 41989094
19341411...

output:

168840266155.043090537190

result:

ok found '168840266155.04309', expected '168840266155.04294', error '0.00000'

Test #5:

score: 0
Accepted
time: 3ms
memory: 3824kb

input:

1000
-40710097 -68387840
-40713262 -68382547
-40715876 -68378183
-40720034 -68371279
-40724775 -68363579
-40730740 -68353973
-40736549 -68344830
-40739819 -68339713
-40742687 -68335270
-40746895 -68328767
-40752947 -68319823
-40754886 -68316968
-40761079 -68308110
-40767747 -68298732
-40770472 -6829...

output:

14911692181599.218689918518

result:

ok found '14911692181599.21875', expected '14911692181599.02734', error '0.00000'

Test #6:

score: 0
Accepted
time: 8ms
memory: 4112kb

input:

10000
84849929 -57126112
84841472 -57123352
84836897 -57121859
84827816 -57118905
84819535 -57116213
84810908 -57113420
84809250 -57112891
84802608 -57110788
84797710 -57109239
84789766 -57106738
84783187 -57104673
84773775 -57101720
84766522 -57099445
84757149 -57096507
84751370 -57094702
84745393 ...

output:

1412486655950654.210571289062

result:

ok found '1412486655950654.25000', expected '1412486655950472.75000', error '0.00000'

Test #7:

score: 0
Accepted
time: 13ms
memory: 4384kb

input:

20000
36695920 63855096
36699821 63853995
36702135 63853342
36706473 63852120
36712051 63850550
36717151 63849119
36721923 63847781
36730794 63845294
36739373 63842890
36745062 63841296
36751484 63839501
36760104 63837093
36769910 63834359
36779620 63831652
36788710 63829118
36797797 63826588
368057...

output:

5727102515432276.165527343750

result:

ok found '5727102515432276.00000', expected '5727102515430790.00000', error '0.00000'

Test #8:

score: -100
Dangerous Syscalls

input:

50000
63220612 55859143
63226689 55860975
63228549 55861536
63237384 55864204
63246036 55866818
63253128 55868961
63262941 55871927
63272384 55874783
63278109 55876515
63285718 55878817
63289955 55880101
63297340 55882339
63305978 55884958
63313100 55887118
63321418 55889645
63330759 55892485
633335...

output:


result: