QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#537470#5253. DenormalizationUESTC_DECAYALI#WA 0ms3808kbC++201.1kb2024-08-30 14:03:322024-08-30 14:03:32

Judging History

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

  • [2024-08-30 14:03:32]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3808kb
  • [2024-08-30 14:03:32]
  • 提交

answer

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

using LD = double;

const int N = 1e4+5;
const LD eps = 5e-7;
int n, r[N], ans[N];
LD A[N], rt[N];

int gcd(int a, int b){return 0==b ? a : gcd(b, a%b);}

LD check(){
    int d = 0;
    for (int i=1; i<=n; ++i) d += r[i]*r[i];
    LD dt = sqrt(d);
    for (int i=1; i<=n; ++i) rt[i] = r[i]/dt;

    LD res = 0;

    for (int i=1; i<=n; ++i){
        res = max(abs(rt[i] - A[i]), res);
    }

    return res;
}

signed main(){
    ios::sync_with_stdio(0); cin.tie(0);
    cin >> n;
    int mn=1;
    for (int i=1; i<=n; ++i){
        cin >> A[i];
        if (A[i] < A[mn]) mn=i;
    }

    LD minv = 1e30;
    for (int i=1; i<=n; ++i){
        LD res = i / A[mn];
        for (int j=1; j<=n; ++j) r[j] = round(A[j]*res);
        LD rs = check();
        if(rs < minv) minv = rs, memcpy(ans, r, sizeof(int) * (n + 1));
    }

    int g = ans[1];
    for(int i=1; i<=n; ++i) g = __gcd(g, ans[i]);

    for (int i=1; i<=n; ++i){
        cout << ans[i] / g << '\n';
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3808kb

input:

2
0.909840249060
0.414958698174

output:

2
1

result:

wrong answer incorrect solution