QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#141491#5253. DenormalizationPhantomThreshold#WA 5ms3980kbC++201.8kb2023-08-17 15:12:402023-08-17 15:12:41

Judging History

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

  • [2023-08-17 15:12:41]
  • 评测
  • 测评结果:WA
  • 用时:5ms
  • 内存:3980kb
  • [2023-08-17 15:12:40]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

typedef long double db;
const db eps=1e-8;
const db lim=10001;
int sign(db k){
	if (k<-eps) return -1;
	else if (k>eps) return 1;
	return 0;
}
long long div(db a,db b){
	long long tmp=a/b+0.5;
	return tmp;
}
db mod(db a,db b){
	return a-div(a,b)*b;
}

const int maxn=10000;
int n;
db a[maxn+50];
db b[maxn+50];

long long ans[maxn+50];
long long A[maxn+50];

int main(){
	ios_base::sync_with_stdio(false);
	mt19937 rng((unsigned long long)(new char));
	cerr << fixed << setprecision(12);

	cin >> n;
	for (int i=1;i<=n;i++) cin >> a[i];
	/*
	{
		
		for (int i=1;i<=n;i++) A[i]=rng()%10000+1;
	//	for (int i=1;i<=n;i++) cin >> A[i];
	
		long long g=0;
		for (int i=1;i<=n;i++) g=__gcd(g,A[i]);
		for (int i=1;i<=n;i++) A[i]/=g;
		db D=1;
		for (int i=1;i<=n;i++) D+=A[i]*A[i];
		
		for (int i=1;i<=n;i++) cerr << A[i] << " ";
		cerr << endl;
		
		D=sqrtl(D);
		cerr << "D : " << D << endl;
		cerr << "1/D : " << 1/D << endl;
		for (int i=1;i<=n;i++) a[i]=((long long)(A[i]/D*1e12))/1e12;
		for (int i=1;i<=n;i++) cerr << a[i] << " ";
		cerr << endl;	
	}
	*/
	db g=0;
	for (int i=1;i<=n;i++) b[i]=a[i];
	for (int cnt=1;cnt<=100;cnt++){
		int mnpos=1;
		db mx=0;
		for (int i=1;i<=n;i++){
			if (sign(b[i])!=0){
				if (mnpos==0 || b[i]<b[mnpos]) mnpos=i;
			}
		}
		for (int i=1;i<=n;i++) mx=max(mx,b[i]);
		g=mx;
	//	cerr << "mn,mx : " << b[mnpos] << " " << mx << endl;
		if (sign(b[mnpos])==0) break;
		if (fabs(mx/b[mnpos])>lim) break;
		for (int i=1;i<=n;i++) if (i!=mnpos && sign(b[i])!=0) b[i]=fabs(mod(b[i],b[mnpos]));
		
	//	for (int i=1;i<=n;i++) cerr << b[i] << " ";
	//	cerr << endl;
	}
//	cerr << "g : " << g << endl;
	for (int i=1;i<=n;i++) ans[i]=div(a[i],g);
	for (int i=1;i<=n;i++) cout << ans[i] << "\n";
	return 0;	
}
/*
3
5984 3409 8792
*/

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3680kb

input:

2
0.909840249060
0.414958698174

output:

9665
4408

result:

ok good solution

Test #2:

score: 0
Accepted
time: 1ms
memory: 3680kb

input:

3
0.005731604132
0.696198848562
0.717826101486

output:

75
9110
9393

result:

ok good solution

Test #3:

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

input:

10
0.338936215010
0.390914583549
0.048893426174
0.446152513833
0.137891103101
0.017985796057
0.459132554353
0.201452557127
0.362800863500
0.358493585479

output:

5823
6716
840
7665
2369
309
7888
3461
6233
6159

result:

ok good solution

Test #4:

score: 0
Accepted
time: 1ms
memory: 3800kb

input:

100
0.027828573352
0.034289446708
0.021442608673
0.002752893865
0.091163859407
0.180717182268
0.012097751269
0.101332712254
0.087249881055
0.112643922419
0.016667180541
0.108449036530
0.050488448020
0.104216696303
0.120734059490
0.090096410766
0.066537631979
0.046668105514
0.174836851156
0.084908984...

output:

1486
1831
1145
147
4868
9650
646
5411
4659
6015
890
5791
2696
5565
6447
4811
3553
2492
9336
4534
5302
193
5082
58
1438
4729
3774
542
5876
1641
5574
1443
9374
7710
9570
1413
3054
396
2768
8066
1774
1546
9548
1546
8339
411
3862
3496
3418
8165
4760
7829
4709
8174
8816
4396
7811
8148
2957
1239
1857
4361...

result:

ok good solution

Test #5:

score: -100
Wrong Answer
time: 5ms
memory: 3980kb

input:

10000
0.014153431495
0.006246805276
0.014846752535
0.008905976745
0.012146085543
0.003020528319
0.010107617948
0.005218062088
0.014054879627
0.009239669913
0.008637984822
0.013371932468
0.009493829995
0.005771335736
0.002264963994
0.010799210007
0.015999982294
0.014564928771
0.001206828144
0.0056243...

output:

8193
3616
8594
5155
7031
1749
5851
3021
8136
5349
5000
7741
5496
3341
1311
6251
9262
8431
699
3256
18
6753
6388
7587
1484
2173
4332
7374
2074
8236
3816
8751
9609
5380
9219
4225
6859
8477
8395
930
2606
4107
8586
2770
1139
3757
2141
7169
5881
525
8783
4410
7776
1655
3083
735
3953
4294
6834
4800
4009
4...

result:

wrong answer Integer parameter [name=r_i] equals to 10009, violates the range [1, 10000]