QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#369045 | #5253. Denormalization | NYCU_template# | WA | 88ms | 3940kb | C++14 | 1.1kb | 2024-03-27 19:49:17 | 2024-03-27 19:49:17 |
Judging History
answer
#include <bits/stdc++.h>
#define loli ios::sync_with_stdio(0), cin.tie(0);
#define MP make_pair
#define F first
#define S second
typedef long long ll;
using namespace std;
typedef pair<int, int> pii;
const int LIMIT = 10000;
const double eps = 1e-4;
struct vecs {
double d;
int ans, idx;
} a[10000];
pii getVal(double a, double b) {
for (int i = 1; i <= LIMIT; i++) {
double x = b / (a / i);
if (abs(x - round(x)) < eps) {
return MP(i, round(x));
}
}
assert(0);
return MP(-1, -1);
}
int lcm(int a, int b) {
return ll(a) * b / __gcd(a, b);
}
int main() {loli
int n, base = 1;
pii rat[10000];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i].d;
a[i].idx = i;
}
sort(a, a + n, [](const vecs &x, const vecs &y){
return x.d < y.d;
});
for (int i = 1; i < n; i++) {
rat[i] = getVal(a[0].d, a[i].d);
base = lcm(base, rat[i].F);
}
a[0].ans = base;
for (int i = 1; i < n; i++) {
a[i].ans = rat[i].S * base / rat[i].F;
}
sort(a, a + n, [](const vecs &x, const vecs &y){
return x.idx < y.idx;
});
for (int i = 0; i < n; i++) {
cout << a[i].ans << "\n";
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3808kb
input:
2 0.909840249060 0.414958698174
output:
9665 4408
result:
ok good solution
Test #2:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
3 0.005731604132 0.696198848562 0.717826101486
output:
75 9110 9393
result:
ok good solution
Test #3:
score: 0
Accepted
time: 0ms
memory: 3832kb
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: 3840kb
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: 88ms
memory: 3940kb
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:
-1040683 -133666 502577 -273208 -196204 -4935 139438 137379840 99463 -524118 780317 -332011 -379872 -257198 128798 -199171 838065 188212 -141847210 260570 -742047744 -113706 167539 -1255156 252848 210850 357550 -303974 -198083 163824 233841 439520 252699 519940 289057 87932 15810 127173 -440600 -359...
result:
wrong answer Integer parameter [name=r_i] equals to -1040683, violates the range [1, 10000]