Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.06 KB | None | 0 0
  1. #include <cstdio>                                                                                                                                                                                                  
  2. #include <climits>                                                                                                                                                                                                
  3. #include <cstring>                                                                                                                                                                                                
  4.                                                                                                                                                                                                                    
  5. void print(const int *array, int size)                                                                                                                                                                            
  6. {                                                                                                                                                                                                                  
  7.         for (int i = 0; i < size - 1; ++i)                                                                                                                                                                        
  8.                 printf("%d ", array[i]);                                                                                                                                                                          
  9.         printf("%d\n", array[size - 1]);            
  10. }
  11.  
  12. int main()
  13. {
  14.         int k;
  15.         scanf("%d", &k);
  16.         k--;
  17.  
  18.         int *elements = new int[k];
  19.         int *p = new int[k];
  20.  
  21.         //memset(elements, 0, sizeof(*elements) * k);
  22.         for (int i = 0; i < k; ++i) {
  23.                 elements[i] = 1;
  24.         }
  25.  
  26.         memset(p, 0, sizeof(*p) * k);
  27.  
  28.         /*
  29.         for (int i = 0; i < k; ++i) {
  30.                 printf("%d %d\n", elements[i], p[i]);
  31.         }
  32.         */
  33.  
  34.         int num = 0;
  35.         while (scanf("%d", &num) != EOF && num != -1) {
  36.                 if (num) {
  37.                         bool updated = false;
  38.                         for (int i = 0; i < k; ++i) {
  39.                                 if (p[i] == 0 || elements[i] == num) {
  40.                                         ++p[i];
  41.                                         elements[i] = num;
  42.                                         updated = true;
  43.                                         break;
  44.                                 }
  45.                         }
  46.  
  47.                         if (!updated) {
  48.                                 for (int i = 0; i < k; ++i)
  49.                                         --p[i];
  50.                         }
  51.  
  52.                 } else {
  53.                         print(elements, k);
  54.                 }
  55.         }
  56.  
  57.         delete[] elements;
  58.         delete[] p;
  59.  
  60.         return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement