QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#323769#8242. V-Diagramucup-team635#AC ✓34ms7504kbRust1.9kb2024-02-10 13:18:462024-02-10 13:18:47

Judging History

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

  • [2024-02-10 13:18:47]
  • 评测
  • 测评结果:AC
  • 用时:34ms
  • 内存:7504kb
  • [2024-02-10 13:18:46]
  • 提交

answer

// ---------- begin scannner ----------
#[allow(dead_code)]
mod scanner {
    use std::str::FromStr;
    pub struct Scanner<'a> {
        it: std::str::SplitWhitespace<'a>,
    }
    impl<'a> Scanner<'a> {
        pub fn new(s: &'a String) -> Scanner<'a> {
            Scanner {
                it: s.split_whitespace(),
            }
        }
        pub fn next<T: FromStr>(&mut self) -> T {
            self.it.next().unwrap().parse::<T>().ok().unwrap()
        }
        pub fn next_bytes(&mut self) -> Vec<u8> {
            self.it.next().unwrap().bytes().collect()
        }
        pub fn next_chars(&mut self) -> Vec<char> {
            self.it.next().unwrap().chars().collect()
        }
        pub fn next_vec<T: FromStr>(&mut self, len: usize) -> Vec<T> {
            (0..len).map(|_| self.next()).collect()
        }
    }
}
// ---------- end scannner ----------

use std::io::Write;
use std::collections::*;

type Map<K, V> = BTreeMap<K, V>;
type Set<T> = BTreeSet<T>;
type Deque<T> = VecDeque<T>;

fn main() {
    use std::io::Read;
    let mut s = String::new();
    std::io::stdin().read_to_string(&mut s).unwrap();
    let mut sc = scanner::Scanner::new(&s);
    let out = std::io::stdout();
    let mut out = std::io::BufWriter::new(out.lock());
    run(&mut sc, &mut out);
}

fn run<W: Write>(sc: &mut scanner::Scanner, out: &mut std::io::BufWriter<W>) {
    let t: u32 = sc.next();
    for _ in 0..t {
        let n: usize = sc.next();
        let a: Vec<i64> = sc.next_vec(n);
        let x = (0..n).min_by_key(|x| a[*x]).unwrap();
        let mut ans = 0f64;
        ans = ans.max(a[..(x + 2)].iter().sum::<i64>() as f64 / (x + 2) as f64);
        ans = ans.max(a[(x - 1)..].iter().sum::<i64>() as f64 / (n - x + 1) as f64);
        ans = ans.max(a.iter().sum::<i64>() as f64 / n as f64);
        writeln!(out, "{:.9}", ans).ok();
    }
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 2096kb

input:

2
4
8 2 7 10
6
9 6 5 3 4 8

output:

6.750000000
5.833333333

result:

ok 2 numbers

Test #2:

score: 0
Accepted
time: 34ms
memory: 4976kb

input:

100000
3
948511478 739365502 813471668
3
881046825 27458122 398507422
3
987554257 399092415 924260278
3
984128569 125199021 716360525
3
529589236 45783262 313507287
3
645443456 85994112 226010681
3
914820717 228360911 572267310
3
418958362 56703604 195276041
3
64461646 26764720 26995581
3
914535039 ...

output:

833782882.666666627
435670789.666666687
770302316.666666627
608562705.000000000
296293261.666666687
319149416.333333313
571816312.666666627
223646002.333333343
39407315.666666664
383253737.666666687
734363638.666666627
779975824.333333373
490276408.333333313
574448414.000000000
337980292.000000000
6...

result:

ok 100000 numbers

Test #3:

score: 0
Accepted
time: 11ms
memory: 5176kb

input:

10000
4
194123849 79274911 191162487 570110764
86
957917218 915359202 914726017 873273226 867724859 867674150 809652204 805531383 745262007 743835491 727071232 714782071 645394643 639432679 594879540 587173904 583418126 560538589 518721836 469558994 427721766 411582333 404948350 402948978 357228675 ...

output:

258668002.750000000
527118856.755555570
495489050.352941155
525232841.149999976
472025965.699999988
546154003.125000000
543366581.516129017
254833443.199999988
428466450.050000012
502458665.384615362
564217787.333333373
479468115.118279576
466246020.204545438
570997279.666666627
537648134.285714269
...

result:

ok 10000 numbers

Test #4:

score: 0
Accepted
time: 9ms
memory: 5112kb

input:

1000
357
999039850 998470288 997001139 994662646 991895879 986310400 986201443 971759917 969292691 967648767 963962459 963603069 959189978 954532156 936459732 927268934 925199105 918559276 906725073 903024522 891346023 886340039 872105565 871168803 867996002 862017068 851751458 849013653 847967471 8...

output:

493655540.627451003
515292672.416666687
498032099.981481493
481127839.625000000
526924843.336283207
488725771.457191765
533287305.946428597
438471966.333333313
536630212.257575750
560617979.739726067
489475479.028169036
484316845.366197169
535619161.371428549
557358012.719101071
550404574.081481457
...

result:

ok 1000 numbers

Test #5:

score: 0
Accepted
time: 8ms
memory: 5072kb

input:

100
1152
999672457 998726401 995956848 990786177 990411263 984766135 983346495 982593760 982250360 980153123 975942408 974567443 973232196 970303426 967381747 966555245 966400114 965308448 961378668 960953166 960451796 957742285 957273419 956986267 956737190 956352393 954265694 953272327 952096100 9...

output:

504372755.029159546
495156421.177481949
511090599.621761680
497554816.124314427
514036973.345568478
509664056.912052095
500937804.963666379
515638734.543239951
500934821.109582782
518390767.739205539
504669526.958182573
501996849.059280872
504619908.646973372
505603904.384359419
500109676.745469391
...

result:

ok 100 numbers

Test #6:

score: 0
Accepted
time: 6ms
memory: 6300kb

input:

10
29043
999960631 999958134 999901247 999737433 999520614 999519045 999460207 999379140 999279078 999214335 999048733 998866618 998693991 998649435 998636721 998575997 998542938 998513617 998477418 998422985 998403836 998262102 998124856 998017139 998013085 997959891 997944356 997893923 997524695 9...

output:

497704976.046566069
500149119.648922145
499456770.182770371
500288732.702417850
505548409.832386374
502546060.651801825
500560614.163130283
502706676.399498761
500677023.496245861
505195094.970297039

result:

ok 10 numbers

Test #7:

score: 0
Accepted
time: 6ms
memory: 7504kb

input:

1
300000
999995409 999991717 999988340 999981078 999978323 999978096 999977575 999967796 999958049 999950023 999927083 999923421 999918905 999916153 999912740 999911175 999907902 999902376 999899096 999889548 999888902 999880881 999878324 999867494 999866296 999864006 999863565 999859765 999841183 9...

output:

499603654.397238612

result:

ok found '499603654.397238612', expected '499603654.397238612', error '0.000000000'

Extra Test:

score: 0
Extra Test Passed