ログインしてください。
提出 #61258485
ソースコード 拡げる
#![allow(dead_code)]
use proconio::{input, marker::Chars};
trait Bound<T> {
fn lower_bound(&self, x: &T) -> usize;
fn upper_bound(&self, x: &T) -> usize;
}
impl<T: PartialOrd> Bound<T> for [T] {
fn lower_bound(&self, x: &T) -> usize {
let (mut low, mut high) = (0, self.len());
while low + 1 < high {
let mid = (low + high) / 2;
if self[mid] < *x {
low = mid;
} else {
high = mid;
}
}
if self[low] < *x {
low + 1
} else {
low
}
}
fn upper_bound(&self, x: &T) -> usize {
let (mut low, mut high) = (0, self.len());
while low + 1 < high {
let mid = (low + high) / 2;
if self[mid] <= *x {
low = mid;
} else {
high = mid;
}
}
if self[low] <= *x {
low + 1
} else {
low
}
}
}
fn main() {
input! {k:usize,s:Chars,t:Chars}
if (s.len() as i32 - t.len() as i32).abs() > k as i32 {
println!("No");
return;
}
let s_length = s.len();
let t_length = t.len();
let mut dp = vec![vec![usize::MAX; 2 * k + 1]; s_length + 1];
dp[0][k] = 0;
for i in 0..=s.len() {
for dj in 0..=(2 * k) {
let j = i as i32 + dj as i32 - k as i32;
if j < 0 {
continue;
}
let j = j as usize;
if j > t_length {
break;
}
if i > 0 && dj < 2 * k {
dp[i][dj] = dp[i][dj].min(dp[i - 1][dj + 1] + 1)
}
if j > 0 && dj > 0 {
dp[i][dj] = dp[i][dj].min(dp[i][dj - 1] + 1)
}
if i > 0 && j > 0 {
let add = if s[i - 1] == t[j - 1] { 0 } else { 1 };
dp[i][dj] = dp[i][dj].min(dp[i - 1][dj] + add)
}
}
}
if dp[s_length][k + t_length - s_length] <= k {
println!("Yes")
} else {
println!("No")
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Operate K |
| ユーザ | tsu7magu6 |
| 言語 | Rust (rustc 1.70.0) |
| 得点 | 525 |
| コード長 | 2207 Byte |
| 結果 | AC |
| 実行時間 | 215 ms |
| メモリ | 182540 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 525 / 525 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, small_01.txt, small_02.txt, small_03.txt, small_04.txt, small_05.txt, small_06.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand_01.txt | AC | 190 ms | 166968 KiB |
| hand_02.txt | AC | 183 ms | 159036 KiB |
| hand_03.txt | AC | 195 ms | 166948 KiB |
| hand_04.txt | AC | 185 ms | 159024 KiB |
| sample_01.txt | AC | 1 ms | 1968 KiB |
| sample_02.txt | AC | 1 ms | 1924 KiB |
| sample_03.txt | AC | 1 ms | 1952 KiB |
| small_01.txt | AC | 1 ms | 1936 KiB |
| small_02.txt | AC | 1 ms | 2072 KiB |
| small_03.txt | AC | 1 ms | 1932 KiB |
| small_04.txt | AC | 1 ms | 1884 KiB |
| small_05.txt | AC | 1 ms | 1928 KiB |
| small_06.txt | AC | 1 ms | 1908 KiB |
| test_01.txt | AC | 1 ms | 1940 KiB |
| test_02.txt | AC | 1 ms | 2012 KiB |
| test_03.txt | AC | 1 ms | 1896 KiB |
| test_04.txt | AC | 1 ms | 1808 KiB |
| test_05.txt | AC | 1 ms | 1808 KiB |
| test_06.txt | AC | 32 ms | 34120 KiB |
| test_07.txt | AC | 32 ms | 34120 KiB |
| test_08.txt | AC | 31 ms | 34172 KiB |
| test_09.txt | AC | 5 ms | 6736 KiB |
| test_10.txt | AC | 5 ms | 6712 KiB |
| test_11.txt | AC | 3 ms | 4204 KiB |
| test_12.txt | AC | 3 ms | 4300 KiB |
| test_13.txt | AC | 2 ms | 2672 KiB |
| test_14.txt | AC | 1 ms | 2736 KiB |
| test_15.txt | AC | 31 ms | 34136 KiB |
| test_16.txt | AC | 31 ms | 34156 KiB |
| test_17.txt | AC | 32 ms | 34112 KiB |
| test_18.txt | AC | 31 ms | 34104 KiB |
| test_19.txt | AC | 33 ms | 34200 KiB |
| test_20.txt | AC | 32 ms | 34076 KiB |
| test_21.txt | AC | 32 ms | 34140 KiB |
| test_22.txt | AC | 31 ms | 34116 KiB |
| test_23.txt | AC | 31 ms | 34060 KiB |
| test_24.txt | AC | 5 ms | 6684 KiB |
| test_25.txt | AC | 31 ms | 34012 KiB |
| test_26.txt | AC | 5 ms | 6608 KiB |
| test_27.txt | AC | 215 ms | 182540 KiB |
| test_28.txt | AC | 215 ms | 182456 KiB |
| test_29.txt | AC | 5 ms | 6684 KiB |
| test_30.txt | AC | 4 ms | 6688 KiB |
| test_31.txt | AC | 3 ms | 4272 KiB |
| test_32.txt | AC | 3 ms | 4096 KiB |
| test_33.txt | AC | 214 ms | 182380 KiB |
| test_34.txt | AC | 3 ms | 4420 KiB |
| test_35.txt | AC | 3 ms | 5232 KiB |
| test_36.txt | AC | 60 ms | 57408 KiB |
| test_37.txt | AC | 160 ms | 135540 KiB |
| test_38.txt | AC | 69 ms | 65232 KiB |
| test_39.txt | AC | 69 ms | 65164 KiB |
| test_40.txt | AC | 212 ms | 182508 KiB |
| test_41.txt | AC | 5 ms | 6612 KiB |
| test_42.txt | AC | 175 ms | 143440 KiB |
| test_43.txt | AC | 5 ms | 6704 KiB |
| test_44.txt | AC | 202 ms | 174668 KiB |
| test_45.txt | AC | 5 ms | 6680 KiB |
| test_46.txt | AC | 194 ms | 166968 KiB |
| test_47.txt | AC | 5 ms | 6712 KiB |
| test_48.txt | AC | 211 ms | 181956 KiB |
| test_49.txt | AC | 121 ms | 103888 KiB |
| test_50.txt | AC | 41 ms | 41808 KiB |
| test_51.txt | AC | 214 ms | 181984 KiB |
| test_52.txt | AC | 59 ms | 57368 KiB |
| test_53.txt | AC | 68 ms | 65012 KiB |
| test_54.txt | AC | 212 ms | 181912 KiB |
| test_55.txt | AC | 60 ms | 57440 KiB |
| test_56.txt | AC | 131 ms | 112012 KiB |
| test_57.txt | AC | 130 ms | 112036 KiB |
| test_58.txt | AC | 210 ms | 181964 KiB |
| test_59.txt | AC | 215 ms | 181968 KiB |
| test_60.txt | AC | 214 ms | 182052 KiB |
| test_61.txt | AC | 139 ms | 119688 KiB |
| test_62.txt | AC | 111 ms | 96516 KiB |
| test_63.txt | AC | 184 ms | 158724 KiB |
| test_64.txt | AC | 0 ms | 1924 KiB |
| test_65.txt | AC | 1 ms | 1908 KiB |
| test_66.txt | AC | 0 ms | 1936 KiB |
| test_67.txt | AC | 1 ms | 1740 KiB |
| test_68.txt | AC | 0 ms | 1940 KiB |
| test_69.txt | AC | 1 ms | 2008 KiB |
| test_70.txt | AC | 1 ms | 1932 KiB |