QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#71359#5253. DenormalizationSorting#WA 5ms3660kbC++1.9kb2023-01-09 20:42:512023-01-09 20:42:54

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-01-09 20:42:54]
  • 评测
  • 测评结果:WA
  • 用时:5ms
  • 内存:3660kb
  • [2023-01-09 20:42:51]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
typedef unsigned long long ull ;
typedef pair < int , int > pii ; 
typedef vector<int> vi;
#define fi first
#define se second
mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()

const int MAXN = 1e4 + 7 ;
const long double eps = 1e-8 ;

int n ;
long double a[ MAXN ] ;
ll rem[ MAXN ] ;

const int lim = 1e4 ;

void solve ( ) {
    cin >> n ;
    for ( int i = 1 ; i <= n ; ++ i ) {
        cin >> a[ i ] ;
    }
    for ( int i = 1 ; i <= lim ; ++ i ) {
        long double d = i / a[ 1 ] ;
        bool bad = false ;
        ll tot = i ;
        long double sm = i * i ;
        rem[ 1 ] = i ;
        for ( int j = 2 ; j <= n ; ++ j ) {
            long double aux = a[ j ] * d ;
            rem[ j ] = round ( aux ) ;
            /**
            if ( aux - hh > eps || aux - hh < -eps ) {
                bad = true ;
                break ;
            }
            **/
            if ( rem[ j ] < 1 || rem[ j ] > lim ) {
                bad = true ;
                break ;
            }
            sm += rem[ j ] * rem[ j ] ;
            tot = __gcd ( tot , rem[ j ] ) ;
        }
        if ( tot != 1 ) { bad = true ; }
        long double act = sqrt ( sm ) ;
        if ( bad == true ) { continue ; }
        for ( int j = 1 ; j <= n ; ++ j ) {
            long double aux = a[ j ] * act ;
            if ( aux - rem[ j ] > eps || aux - rem[ j ] < -eps ) {
                bad = true ;
                break ;
            }
        }
        if ( bad == false ) {
            for ( int j = 1 ; j <= n ; ++ j ) {
                cout << rem[ j ] << "\n" ;
            }
            return ;
        }
    }
}

int main ( ) {
    ios_base :: sync_with_stdio ( false ) ;
    cin.tie ( NULL ) ;
    int t = 1 ; // cin >> t ; 
    while ( t -- ) { solve ( ) ; }
    return 0 ;
}



詳細信息

Test #1:

score: 100
Accepted
time: 3ms
memory: 3460kb

input:

2
0.909840249060
0.414958698174

output:

9665
4408

result:

ok good solution

Test #2:

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

input:

3
0.005731604132
0.696198848562
0.717826101486

output:

75
9110
9393

result:

ok good solution

Test #3:

score: 0
Accepted
time: 4ms
memory: 3588kb

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: -100
Wrong Answer
time: 5ms
memory: 3660kb

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:


result:

wrong output format Unexpected end of file - int32 expected