結果
| 問題 |
No.3144 Parentheses Modification and Rotation (01 Ver.)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-05-16 22:10:56 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 1,091 bytes |
| コンパイル時間 | 11,285 ms |
| コンパイル使用メモリ | 400,452 KB |
| 実行使用メモリ | 7,720 KB |
| 最終ジャッジ日時 | 2025-10-26 16:40:43 |
| 合計ジャッジ時間 | 13,225 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 39 |
コンパイルメッセージ
warning: unused variable: `r`
--> src/main.rs:16:9
|
16 | r: usize,
| ^ help: if this is intentional, prefix it with an underscore: `_r`
|
= note: `#[warn(unused_variables)]` on by default
warning: unused variable: `m`
--> src/main.rs:17:9
|
17 | m: usize,
| ^ help: if this is intentional, prefix it with an underscore: `_m`
warning: type alias `Map` is never used
--> src/main.rs:5:6
|
5 | type Map<K, V> = BTreeMap<K, V>;
| ^^^
|
= note: `#[warn(dead_code)]` on by default
warning: type alias `Set` is never used
--> src/main.rs:6:6
|
6 | type Set<T> = BTreeSet<T>;
| ^^^
warning: type alias `Deque` is never used
--> src/main.rs:7:6
|
7 | type Deque<T> = VecDeque<T>;
| ^^^^^
warning: type alias `Heap` is never used
--> src/main.rs:8:6
|
8 | type Heap<T> = BinaryHeap<T>;
| ^^^^
warning: constant `MOD` is never used
--> src/main.rs:10:7
|
10 | const MOD: u64 = 998_244_353;
| ^^^
warning: unused comparison that must be used
--> src/main.rs:32:17
|
32 | *c == b')';
| ^^^^^^^^^^ the comparison produces a value
|
= note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
|
32 | let _ = *c == b')';
| +++++++
warning: unused comparison that must be used
--> src/main.rs:45:17
|
45 | *c == b'(';
| ^^^^^^^^^^ the comparison produces a value
|
help: use `let _ = ...` to ignore the resulting value
|
45 | let _ = *c == b'(';
| +++++++
ソースコード
use proconio::marker::*;
use proconio::*;
use std::collections::*;
type Map<K, V> = BTreeMap<K, V>;
type Set<T> = BTreeSet<T>;
type Deque<T> = VecDeque<T>;
type Heap<T> = BinaryHeap<T>;
const MOD: u64 = 998_244_353;
fn main() {
input! {
n: usize,
mut s: Bytes,
r: usize,
m: usize,
}
if n & 1 == 1 {
println!("-1");
return;
}
let mut ans = 0usize;
let x = s.iter().filter(|c| **c == b'(').count();
if x * 2 > n {
let mut d = x - n / 2;
for c in s.iter_mut().rev() {
if *c == b'(' {
*c == b')';
ans += 1;
d -= 1;
if d == 0 {
break;
}
}
}
}
if x * 2 < n {
let mut d = n / 2 - x;
for c in s.iter_mut() {
if *c == b')' {
*c == b'(';
ans += 1;
d -= 1;
if d == 0 {
break;
}
}
}
}
println!("{}", ans);
}