ABC203 write up
ABC 203의 bacha에 참가했기 때문에 해법 같은 걸 썼어요.
제문에서 보듯이 디자인if문. 나는 좀 더 간결한 방법이 있다고 생각했지만 생각지도 못했다...
a.rs
format!()로 i0j 형식의 숫자를 더하기!()편해서 좋아요...
b.rs
마을의 정보를 안내하고 현재의 비용으로 친구가 있는 마을로 가자.
c.rs
A - Chinchirorin
제문에서 보듯이 디자인if문. 나는 좀 더 간결한 방법이 있다고 생각했지만 생각지도 못했다...
a.rs
#![allow(unused_imports)]
#![allow(non_snake_case)]
use cmp::{max, min, Reverse};
use proconio::{fastout, input, marker::*};
use std::collections::*;
use std::*;
fn main() {
input! {
a:usize,
b:usize,
c:usize
}
println!(
"{}",
if a == b {
c
} else if b == c {
a
} else if a == c {
b
} else {
0
}
);
}
B - AtCoder Condominium
format!()로 i0j 형식의 숫자를 더하기!()편해서 좋아요...
b.rs
#![allow(unused_imports)]
#![allow(non_snake_case)]
use cmp::{max, min, Reverse};
use proconio::{fastout, input, marker::*};
use std::collections::*;
use std::*;
fn main() {
input! {
n:usize,
k:usize
}
let mut ans = 0;
for i in 1..=n {
for j in 1..=k {
let x:usize = format!("{}0{}",i,j).parse().unwrap();
ans += x;
}
}
println!("{}",ans);
}
C - Friends and Travel costs
마을의 정보를 안내하고 현재의 비용으로 친구가 있는 마을로 가자.
c.rs
#![allow(unused_imports)]
#![allow(non_snake_case)]
use cmp::{max, min, Reverse};
use proconio::{fastout, input, marker::*};
use std::collections::*;
use std::*;
fn main() {
input! {
n:usize,
k:u64,
mut ab:[(u64,u64);n]
}
let mut nk = k;
let mut nx = 0;
let mut ans = 0;
ab.sort();
for (a, b) in ab {
if nk >= (a-nx) {
nk -= (a-nx);
nx = a;
nk += b;
}else{
break;
}
}
ans = nx + nk;
println!("{}", ans);
}
지금까지!안 닦고 냈어요. 이번에는 이 때문에TLE가 됐어요. 출력이 너무 무거워서 쉬운 습관을 기르고 싶어요.