Submission details
Task:Particle Accelerator II
Sender:Giaco
Submission time:2025-11-26 17:35:31 +0200
Language:Rust (2021)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#20.00 sdetails
#3ACCEPTED0.00 sdetails
#40.00 sdetails
#5ACCEPTED0.00 sdetails
#60.00 sdetails
#7ACCEPTED0.00 sdetails
#80.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.01 sdetails

Compiler report

warning: unused import: `std::cmp::min`
 --> input/code.rs:1:5
  |
1 | use std::cmp::min;
  |     ^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: 1 warning emitted

Code

use std::cmp::min;
use std::io::{self, Read};

macro_rules! input {
    ($it: expr) => {
        $it.next().unwrap().parse().unwrap()
    };
    ($it: expr, $T: ty) => {
        $it.next().unwrap().parse::<$T>().unwrap()
    };
}
/*
mod classes;
mod homework;

fn main() {
    // println!("{}", "-".repeat(20));
    classes::c24::task2();
    // homework::hw9::task1();
    // println!("{}", "-".repeat(20));
}
// */

fn main() {
    let mut buf = String::new();
    io::stdin().read_to_string(&mut buf).unwrap();

    let mut it = buf.split_whitespace();

    let n: usize = input!(it);

    let mut v: Vec<usize> = (0..n).into_iter().map(|_| input!(it)).collect();

    v.sort();

    let i = v.len()/2;


    let mut w1: usize = v[0];
    let mut w2: usize = v[i];

    let mut cost = 0;

    for x in 1..=(i -1) {
        cost += w1 * v[x];
        w1 += v[x];
        cost += w2 * v[i+x];
        w2 += v[i+x];
    }

    cost += w1 * w2;

    println!("{}", cost);
}

Test details

Test 1

Verdict: ACCEPTED

input
2
5 10 

correct output
50

user output
50

Test 2

Verdict:

input
3
5 2 1 

correct output
17

user output
2

Test 3

Verdict: ACCEPTED

input
4
6 1 8 9 

correct output
197

user output
197

Test 4

Verdict:

input
5
10 10 6 2 10 

correct output
552

user output
272

Test 5

Verdict: ACCEPTED

input
6
3 1 9 9 3 4 

correct output
322

user output
322

Test 6

Verdict:

input
7
9 10 4 3 9 1 1 

correct output
540

user output
270

Test 7

Verdict: ACCEPTED

input
8
1 3 8 4 5 10 8 5 

correct output
816

user output
816

Test 8

Verdict:

input
9
9 1 10 3 9 4 6 9 3 

correct output
1251

user output
811

Test 9

Verdict: ACCEPTED

input
10
1803 684 195 6648 4633 1942 72...

correct output
594464350

user output
594464350

Test 10

Verdict: ACCEPTED

input
100
1542 4463 7401 8734 2634 865 5...

correct output
124146493451

user output
124146493451

Test 11

Verdict: ACCEPTED

input
1000
7778 6074 2376 8595 8243 8930 ...

correct output
12149459777256

user output
12149459777256

Test 12

Verdict: ACCEPTED

input
10000
5140 9219 7732 6591 8705 3663 ...

correct output
1274117469101964

user output
1274117469101964

Test 13

Verdict: ACCEPTED

input
100000
8489 8136 1789 5914 544 1110 3...

correct output
125270679504052570

user output
125270679504052570