ulvis.paste.net

Paste Search Dynamic
Recent pastes
Problema
  1. // Noic - Iniciante - Semana 55 - Problema 2
  2. // O(N)
  3.  
  4. #include <bits/stdc++.h>
  5.  
  6. using namespace std;
  7.  
  8. int main(){
  9.    
  10.     //um representa a quantidade de 1's, e dois a quantidade de 2's
  11.  
  12.     int n, um=0, dois=0;
  13.  
  14.     cin >> n;
  15.  
  16.     for(int i=1; i<=n; i++){
  17.         int x;
  18.         cin >> x;
  19.         if(x==1)um++;
  20.         else dois++;
  21.     }
  22.  
  23.     if(dois==0){
  24.         for(int i=1; i<=n; i++){
  25.             cout << 1 << " ";
  26.         }
  27.         return 0;
  28.     }
  29.     else if(um==0){
  30.         for(int i=1; i<=n; i++){
  31.             cout << 2 << " ";
  32.         }
  33.         return 0;
  34.     }
  35.  
  36.     for(int i=1; i<=n; i++){
  37.         if(i==1){
  38.             cout << 2 << " ";
  39.             dois--;
  40.         }
  41.         if(i==2){
  42.             cout << 1 << " ";
  43.             um--;
  44.         }
  45.         if(i>=3){
  46.             if(dois>=1){
  47.                 cout << 2 << " ";
  48.                 dois--;
  49.             }
  50.             else{
  51.                 if(um>=1){
  52.                     cout << 1 << " ";
  53.                     um--;
  54.                 }
  55.             }
  56.         }
  57.     }
  58.  
  59.     return 0;
  60. }
Parsed in 0.009 seconds