Promi_38

cf 300A

Jan 14th, 2021
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include<bits\stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int n;
  8.     scanf("%d", &n);
  9.    
  10.     int a[n], i;
  11.     for(i = 0; i < n; i++) scanf("%d", &a[i]);
  12.    
  13.     sort(a, a + n);
  14.    
  15.     int c_pos = 0, c_neg = 0, c_zero = 0, n2 = 0, n3 = 0;
  16.     for(i = 0; i < n; i++)
  17.     {
  18.         if(a[i] < 0) c_neg++;
  19.         if(a[i] == 0) c_zero++;
  20.         if(a[i] > 0) c_pos++;
  21.     }
  22.    
  23.     /*for(i = 0; i < n; i++) printf("%d ", a[i]);
  24.     printf("\n");*/
  25.    
  26.     printf("1 %d\n", a[0]);
  27.     if(c_pos == 0)
  28.     {
  29.         if(c_neg % 2 != 0)
  30.         {
  31.             n2 = c_neg - 1;
  32.             n3 = c_zero;
  33.             printf("%d ", n2);
  34.             for(i = 1; i < n; i++)
  35.             {
  36.                 if(a[i] < 0) printf("%d ", a[i]);
  37.                 else break;
  38.             }
  39.             printf("\n");
  40.             printf("%d ", n3);
  41.             for(i = 0; i < n3; i++)
  42.             {
  43.                 printf("0 ");
  44.             }
  45.             printf("\n");
  46.         }
  47.         else
  48.         {
  49.             n2 = c_neg - 2;
  50.             n3 = c_zero + 1;
  51.             printf("%d ", n2);
  52.             for(i = 2; i < n; i++)
  53.             {
  54.                 if(a[i] < 0) printf("%d ", a[i]);
  55.                 else break;
  56.             }
  57.             printf("\n");
  58.            
  59.             printf("%d %d ", n3, a[1]);
  60.             for(i = 0; i < n3 - 1; i++)
  61.             {
  62.                 printf("0 ");
  63.             }
  64.             printf("\n");  
  65.         }
  66.     }
  67.    
  68.     else
  69.     {
  70.         n2 = c_pos;
  71.         n3 = c_zero + c_neg - 1;
  72.         printf("%d ", n2);
  73.         for(i = n - 1; i >= 0; i--)
  74.         {
  75.             if(a[i] > 0) printf("%d ", a[i]);
  76.             else break;
  77.         }
  78.         printf("\n");
  79.         printf("%d ", n3);
  80.         for(i = 0; i < c_zero; i++) printf("0 ");
  81.         for(i = 1; i < n; i++)
  82.         {
  83.             if(a[i] < 0) printf("%d ", a[i]);
  84.             else break;
  85.         }
  86.         printf("\n");
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment