File tree Expand file tree Collapse file tree 1 file changed +6
-37
lines changed Expand file tree Collapse file tree 1 file changed +6
-37
lines changed Original file line number Diff line number Diff line change 1
- use basm:: syscall ;
1
+ use basm:: io :: { Reader , Writer } ;
2
2
3
3
#[ inline( always) ]
4
4
pub fn main ( ) {
5
- let mut input = [ 0u8 ; 1 << 16 ] ;
6
- let mut len = syscall:: read ( 0 , & mut input) as usize ;
7
- let mut i = 0 ;
8
- while input[ i] != b'\n' {
9
- i += 1 ;
10
- }
11
- i += 1 ;
12
- let mut c = input[ i] ;
13
- i += 1 ;
14
- let mut streak = 1usize ;
15
- let mut prev_streak = 0usize ;
16
- let mut max = 0usize ;
17
- while len > 0 {
18
- for j in i..len {
19
- if input[ j] == c {
20
- streak += 1 ;
21
- } else {
22
- max = max. max ( prev_streak. min ( streak) * 2 ) ;
23
- prev_streak = streak;
24
- streak = 1 ;
25
- c = input[ j] ;
26
- }
27
- }
28
- len = syscall:: read ( 0 , & mut input) as usize ;
29
- i = 0 ;
30
- }
31
- i = input. len ( ) ;
32
- loop {
33
- i -= 1 ;
34
- input[ i] = ( max % 10 ) as u8 + 48 ;
35
- max /= 10 ;
36
- if max == 0 {
37
- break ;
38
- }
39
- }
40
- syscall:: write ( 1 , & input[ i..] ) ;
5
+ let mut reader: Reader = Default :: default ( ) ;
6
+ let mut writer: Writer = Default :: default ( ) ;
7
+ let a = reader. next_usize ( ) ;
8
+ let b = reader. next_usize ( ) ;
9
+ writer. write_usize ( a + b) ;
41
10
}
You can’t perform that action at this time.
0 commit comments