QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#666571#5253. Denormalizationjay248WA 0ms3840kbC++14929b2024-10-22 19:06:012024-10-22 19:06:10

Judging History

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

  • [2024-10-22 19:06:10]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3840kb
  • [2024-10-22 19:06:01]
  • 提交

answer

#include <iostream>
#include <iomanip>

using namespace std;
int n;
double x[100005];
double m[100005];

int near(int i){
    for(int c=1; c<=10000; c++){
        if(m[i]*c - (int)(m[i]*c) < 0.00000000001 | (int)(m[i]*c)+1 - m[i]*c < 0.00000000001) return c;
    }
    return -1;
}


int gcd(int a, int b){
    if(a > b){
        int tmp = a;
        a = b;
        b = tmp;
    }
    while(b>0){
        int tmp = b;
        b = a%b;
        a = tmp;
    }
    return a;
}

int main(){
    
    cin>>n;
    for(int i=0; i<n; i++){
        cin>>x[i];
    }

    for(int i=0; i<n; i++){
        m[i] = (double)x[i]/(double)x[0];
    }
    cout<<'\n';
    

    int ans = 1;
    for(int i=0; i<n; i++){
        int mul = near(i);
        ans = (mul * ans)/gcd(mul, ans);
    }

    for(int i=0; i<n; i++){
        cout<<(int)(m[i]*ans*1.01);
        if(i<n-1) cout<<' ';
    }
}

詳細信息

Test #1:

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

input:

2
0.909840249060
0.414958698174

output:


-1 0

result:

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