Submission #5906536
Source Code Expand
#[allow(unused_macros)] macro_rules ! input { ( source = $ s : expr , $ ( $ r : tt ) * ) => { let mut iter = $ s . split_whitespace ( ) ; let mut next = || { iter . next ( ) . unwrap ( ) } ; input_inner ! { next , $ ( $ r ) * } } ; ( $ ( $ r : tt ) * ) => { let stdin = std :: io :: stdin ( ) ; let mut bytes = std :: io :: Read :: bytes ( std :: io :: BufReader :: new ( stdin . lock ( ) ) ) ; let mut next = move || -> String { bytes . by_ref ( ) . map ( | r | r . unwrap ( ) as char ) . skip_while ( | c | c . is_whitespace ( ) ) . take_while ( | c |! c . is_whitespace ( ) ) . collect ( ) } ; input_inner ! { next , $ ( $ r ) * } } ; } #[allow(unused_macros)] macro_rules ! input_inner { ( $ next : expr ) => { } ; ( $ next : expr , ) => { } ; ( $ next : expr , $ var : ident : $ t : tt $ ( $ r : tt ) * ) => { let $ var = read_value ! ( $ next , $ t ) ; input_inner ! { $ next $ ( $ r ) * } } ; } #[allow(unused_macros)] macro_rules ! read_value { ( $ next : expr , ( $ ( $ t : tt ) ,* ) ) => { ( $ ( read_value ! ( $ next , $ t ) ) ,* ) } ; ( $ next : expr , [ $ t : tt ; $ len : expr ] ) => { ( 0 ..$ len ) . map ( | _ | read_value ! ( $ next , $ t ) ) . collect ::< Vec < _ >> ( ) } ; ( $ next : expr , chars ) => { read_value ! ( $ next , String ) . chars ( ) . collect ::< Vec < char >> ( ) } ; ( $ next : expr , usize1 ) => { read_value ! ( $ next , usize ) - 1 } ; ( $ next : expr , $ t : ty ) => { $ next ( ) . parse ::<$ t > ( ) . expect ( "Parse error" ) } ; } fn main() { input! { n: usize, ab: [(usize, usize);n] } let mut arr = vec![0i64;1_000_001]; for i in 0..n { let (a, b) = ab[i]; arr[a] += 1; if b+1 < arr.len() { arr[b+1] -= 1; } } let cum = Cum::new(&arr); let mut ret = 0; for i in 1..arr.len()+1 { ret = std::cmp::max(ret, cum.sum(0, i)); } println!("{}", ret); } #[derive(Debug)] #[allow(dead_code)] struct Cum { s: Vec<i64>, } #[allow(dead_code)] impl Cum { fn new(a: &Vec<i64>) -> Cum { let mut s = vec![0; a.len() + 1]; for i in 0..a.len() { s[i + 1] = s[i] + a[i]; } Cum { s: s } } #[doc = " [l,r)"] fn sum(&self, l: usize, r: usize) -> i64 { self.s[r] - self.s[l] } }
Submission Info
Submission Time | |
---|---|
Task | C - AtColor |
User | henoc |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 2333 Byte |
Status | AC |
Exec Time | 50 ms |
Memory | 22908 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample01.txt, subtask0_sample02.txt |
Subtask1 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask0_sample01.txt, subtask0_sample02.txt |
Subtask2 | subtask0_sample01.txt, subtask0_sample02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample01.txt | AC | 12 ms | 20732 KB |
subtask0_sample02.txt | AC | 12 ms | 20732 KB |
subtask1_01.txt | AC | 13 ms | 20732 KB |
subtask1_02.txt | AC | 13 ms | 20732 KB |
subtask1_03.txt | AC | 13 ms | 20732 KB |
subtask1_04.txt | AC | 13 ms | 20732 KB |
subtask1_05.txt | AC | 13 ms | 20732 KB |
subtask1_06.txt | AC | 13 ms | 20732 KB |
subtask1_07.txt | AC | 13 ms | 20732 KB |
subtask1_08.txt | AC | 13 ms | 20732 KB |
subtask1_09.txt | AC | 13 ms | 20732 KB |
subtask1_10.txt | AC | 13 ms | 20732 KB |
subtask1_11.txt | AC | 13 ms | 20732 KB |
subtask1_12.txt | AC | 13 ms | 20732 KB |
subtask1_13.txt | AC | 13 ms | 20732 KB |
subtask1_14.txt | AC | 13 ms | 20732 KB |
subtask1_15.txt | AC | 13 ms | 20732 KB |
subtask2_01.txt | AC | 39 ms | 22780 KB |
subtask2_02.txt | AC | 49 ms | 22780 KB |
subtask2_03.txt | AC | 38 ms | 22780 KB |
subtask2_04.txt | AC | 48 ms | 22780 KB |
subtask2_05.txt | AC | 44 ms | 22780 KB |
subtask2_06.txt | AC | 49 ms | 22780 KB |
subtask2_07.txt | AC | 49 ms | 22780 KB |
subtask2_08.txt | AC | 49 ms | 22780 KB |
subtask2_09.txt | AC | 49 ms | 22780 KB |
subtask2_10.txt | AC | 49 ms | 22780 KB |
subtask2_11.txt | AC | 50 ms | 22908 KB |
subtask2_12.txt | AC | 50 ms | 22780 KB |
subtask2_13.txt | AC | 49 ms | 22780 KB |
subtask2_14.txt | AC | 49 ms | 22780 KB |
subtask2_15.txt | AC | 49 ms | 22780 KB |
subtask2_16.txt | AC | 49 ms | 22780 KB |
subtask2_17.txt | AC | 49 ms | 22780 KB |
subtask2_18.txt | AC | 49 ms | 22780 KB |
subtask2_19.txt | AC | 49 ms | 22780 KB |
subtask2_20.txt | AC | 49 ms | 22780 KB |
subtask2_21.txt | AC | 49 ms | 22780 KB |
subtask2_22.txt | AC | 49 ms | 22780 KB |
subtask2_23.txt | AC | 49 ms | 22780 KB |
subtask2_24.txt | AC | 49 ms | 22780 KB |
subtask2_25.txt | AC | 49 ms | 22780 KB |