• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4. vector<int>vec;
    5.  
    6. int main()
    7. {
    8. int n,i,j,k,a,counter,tag;
    9. while(scanf("%d",&n)==1)
    10. {
    11. for(i=0; i<n; i++)
    12. {
    13. scanf("%d",&a);
    14. vec.push_back(a);
    15. }
    16.  
    17. sort(vec.rbegin(),vec.rend());
    18.  
    19. counter=0;
    20. tag=0;
    21.  
    22. if(vec[0]>=n)
    23. {
    24. printf("0\n");
    25. vec.clear();
    26. continue;
    27. }
    28. else
    29. {
    30. for(i=0; i<n; i++)
    31. {
    32. if(vec[i]%2==1)
    33. {
    34. counter++;
    35. }
    36. }
    37. if(counter%2==1)
    38. {
    39. printf("0\n");
    40. vec.clear();
    41. continue;
    42. }
    43. }
    44.  
    45. while(n>0)
    46. {
    47. k=vec[0];
    48.  
    49. vec.erase(vec.begin()+0);
    50.  
    51. for(j=0;j<k;j++)
    52. {
    53. vec[j]--;
    54. if(vec[j]<0)
    55. {
    56. tag=1;
    57. break;
    58. }
    59. }
    60. if(tag==1)
    61. {
    62. break;
    63. }
    64.  
    65. sort(vec.rbegin(),vec.rend());
    66.  
    67. n--;
    68. }
    69. if(tag==1)
    70. {
    71. printf("0\n");
    72. }
    73. else
    74. {
    75. printf("1\n");
    76. }
    77. vec.clear();
    78. }
    79. return 0;
    80. }
    81.  
    82.