File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change 1+ import  java .io .*;
2+ import  java .util .*;
3+ 
4+ public  class  Main  {
5+ 
6+     public  static  void  main (String [] args ) throws  IOException  {
7+ 
8+         BufferedReader  br  = new  BufferedReader (new  InputStreamReader (System .in ));
9+         int  N  = Integer .parseInt (br .readLine ());
10+         List <Integer > positiveNum  = new  ArrayList <>();
11+         List <Integer > negativeNum  = new  ArrayList <>();
12+         for (int  i =0 ; i <N ; i ++) {
13+             int  num  = Integer .parseInt (br .readLine ());
14+             if (num  > 0 ) {
15+                 positiveNum .add (num );
16+             }else  {
17+                 negativeNum .add (num );
18+             }
19+         }
20+         Collections .sort (positiveNum );
21+         Collections .sort (negativeNum , Collections .reverseOrder ());
22+         int  answer  = getMaxBindSum (positiveNum ) + getMaxBindSum (negativeNum );
23+         System .out .println (answer );
24+     }
25+ 
26+     public  static  int  getMaxBindSum (List <Integer > list ) {
27+         int  max  = 0 ;
28+         for  (int  i  = list .size ()-1 ; i  >= 0 ; ) {
29+             if  (i  == 0 ) {
30+                 max  += list .get (i );
31+                 break ;
32+             }
33+             int  multiply  = list .get (i ) * list .get (i -1 );
34+             int  plus  = list .get (i ) + list .get (i -1 );
35+             if  (multiply  < list .get (i )) {
36+                 max  += list .get (i --);
37+             } else  if  (multiply  < plus ) {
38+                 max  += plus ;
39+                 i  -= 2 ;
40+             } else  {
41+                 max  += multiply ;
42+                 i  -= 2 ;
43+             }
44+         }
45+         return  max ;
46+     }
47+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments