Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3.  
  4. public class test59 {
  5.  
  6.     public static void main(String[] args) {
  7.         Scanner sc = new Scanner(System.in);
  8.         int n = sc.nextInt();
  9.         int s = 0;
  10.         int min_pos_uneven = Integer.MAX_VALUE;
  11.         int max1_neg_uneven = Integer.MIN_VALUE;
  12.         int max2_neg_uneven = Integer.MIN_VALUE;
  13.         int max_neg_even = Integer.MIN_VALUE;
  14.         for (int i=0; i<n; i++){
  15.             int a = sc.nextInt();
  16.             if (a>0){
  17.                 s+=a;
  18.             }
  19.             if (a%2 != 0){
  20.                 if (a>0 && a<min_pos_uneven){
  21.                     min_pos_uneven = a;
  22.                 }
  23.                 if (a<0){
  24.                     if (a > max1_neg_uneven){
  25.                         max2_neg_uneven = max1_neg_uneven;
  26.                         max1_neg_uneven = a;
  27.                     }else if (a > max2_neg_uneven){
  28.                         max2_neg_uneven = a;
  29.                     }
  30.                 }
  31.             }
  32.             if(a < 0 && a%2 == 0 && a > max_neg_even){
  33.                 max_neg_even = a;
  34.             }
  35.         }
  36.        
  37.         if (s>0){
  38.             if (s%2 == 0){
  39.                 System.out.println(s);
  40.             }else{
  41.                 if (min_pos_uneven != Integer.MAX_VALUE && max1_neg_uneven != Integer.MIN_VALUE && s%2 != 0){
  42.                     if(s-min_pos_uneven > s+max1_neg_uneven){
  43.                         System.out.println(s-min_pos_uneven);
  44.                     }else{
  45.                         System.out.println(s+max1_neg_uneven);
  46.                     }
  47.                 }else if(min_pos_uneven != Integer.MAX_VALUE){
  48.                     System.out.println(s-min_pos_uneven);
  49.                 }else if(max1_neg_uneven != Integer.MIN_VALUE){
  50.                     System.out.println(s+max1_neg_uneven);
  51.                 }else{
  52.                     System.out.println("Не найдено");
  53.                 }
  54.             }
  55.         }else{
  56.             if (max_neg_even != Integer.MIN_VALUE){
  57.                 if (max1_neg_uneven != Integer.MIN_VALUE && max2_neg_uneven != Integer.MIN_VALUE){
  58.                     if (max_neg_even > max1_neg_uneven+max2_neg_uneven){
  59.                         System.out.println(max_neg_even);
  60.                     }else{
  61.                         System.out.println(max1_neg_uneven+max2_neg_uneven);
  62.                     }
  63.                 }else{
  64.                     System.out.println(max_neg_even);
  65.                 }
  66.             }else if (max1_neg_uneven != Integer.MIN_VALUE && max2_neg_uneven != Integer.MIN_VALUE){
  67.                 System.out.println(max1_neg_uneven+max2_neg_uneven);
  68.             }else{
  69.                 System.out.println("Не найдено");
  70.             }
  71.         }
  72.     }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement