complete 2399.rs and rename storage/zeta/rust to rs
This commit is contained in:
4
run.py
4
run.py
@@ -203,13 +203,15 @@ def run(from_: str, target: str, verbose: bool):
|
||||
# build
|
||||
|
||||
try:
|
||||
subprocess.run(
|
||||
s = subprocess.run(
|
||||
from_language.build_command,
|
||||
check=True,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
cwd=from_language.working_dir,
|
||||
)
|
||||
print(s.stderr)
|
||||
|
||||
except subprocess.CalledProcessError as e:
|
||||
click.echo(">>>>>> [Error while BUILD process] >>>>>>")
|
||||
raise click.ClickException(e.stderr)
|
||||
|
||||
@@ -3,6 +3,8 @@ use std::fs;
|
||||
use std::path::Path;
|
||||
|
||||
fn main() {
|
||||
println!("cargo::rerun-if-changed=src/main.rs");
|
||||
// TODO: change to always execute build.rs
|
||||
let target_dir = env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| "target".to_string());
|
||||
let profile = env::var("PROFILE").unwrap();
|
||||
let exe_name = env::var("CARGO_PKG_NAME").unwrap();
|
||||
@@ -11,8 +13,12 @@ fn main() {
|
||||
|
||||
let target_path = Path::new(&target_dir).join(&profile).join(&exe_name);
|
||||
let dest_path = Path::new("../../build").join("rs.out");
|
||||
|
||||
println!("cargo::warning={}", exe_name);
|
||||
if target_path.exists() {
|
||||
fs::copy(&target_path, &dest_path).expect("Failed to copy executable");
|
||||
println!("cargo::warning=copy to {:#?}", dest_path);
|
||||
match fs::copy(&target_path, &dest_path) {
|
||||
Ok(_) => println!("cargo::warning=copy success"),
|
||||
Err(_) => println!("cargo::warning=copy failed"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
29
storage/zeta/rs/completed/2399.rs
Normal file
29
storage/zeta/rs/completed/2399.rs
Normal file
@@ -0,0 +1,29 @@
|
||||
use std::io;
|
||||
use std::io::Write;
|
||||
|
||||
fn mutual_difference(v: &Vec<i64>) -> i64 {
|
||||
let mut s: i64 = 0;
|
||||
for a in v {
|
||||
for b in v {
|
||||
s += (a - b).abs();
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let stdout = io::stdout();
|
||||
let mut out = io::BufWriter::new(stdout.lock());
|
||||
|
||||
let mut line = String::new();
|
||||
let mut _trash = String::new();
|
||||
io::stdin().read_line(&mut _trash).expect("err");
|
||||
io::stdin().read_line(&mut line).expect("err");
|
||||
|
||||
let v = line
|
||||
.trim()
|
||||
.split(' ')
|
||||
.map(|it| it.parse::<i64>().unwrap())
|
||||
.collect::<Vec<i64>>();
|
||||
writeln!(out, "{}", mutual_difference(&v)).expect("err");
|
||||
}
|
||||
Reference in New Issue
Block a user