Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include<stdio.h>
  2. void swap(long long *a, long long *b){
  3. long long t=*a;
  4. *a=*b;
  5. *b=t;
  6. }
  7.  
  8. long long Partition(long long arr[], long long start, long long end){
  9. long long pivot=arr[end];
  10. long long pIndex=start;
  11. for(long long i=start; i<end; i++){
  12. if(arr[i]>=pivot){
  13. swap(&arr[i], &arr[pIndex]);
  14. pIndex++;
  15. }
  16. }
  17. swap(&arr[end], &arr[pIndex]);
  18. return pIndex;
  19. }
  20.  
  21. void QuickSort(long long arr[], long long start, long long end){
  22. if(start<end){
  23. long long pIndex=Partition(arr, start, end);
  24. QuickSort(arr, pIndex+1, end);
  25. QuickSort(arr, start, pIndex-1);
  26. }
  27. }
  28.  
  29. void Print(long long arr[], long long max){
  30. for(long long i=0; i<max; i++){
  31. printf("%lld ", arr[i]);
  32. }
  33. printf("\n");
  34. }
  35. int main(){
  36. long long N;
  37. scanf("%lld", &N);
  38. long long num[10001];
  39. long long odd[10001];
  40. long long even[10001];
  41. long long j=0, k=0;
  42. for(long long i=0; i<N; i++){
  43. scanf("%lld", &num[i]);
  44. if(num[i]%2==0){
  45. even[j]=num[i];
  46. j++;
  47. }
  48. else if(num[i]%2!=0){
  49. odd[k]=num[i];
  50. k++;
  51. }
  52. }
  53. QuickSort(even,0, j-1);
  54. QuickSort(odd,0, k-1);
  55. long long Q;
  56. scanf("%lld", &Q);
  57. long long M, oddcount, evencount;
  58. for(long long i=0; i<Q; i++){
  59. oddcount=0, evencount=0;
  60. scanf("%lld", &M);
  61. long long sum=0;
  62.  
  63.  
  64. for(long long a=0; a<k-1; a++){
  65. for(long long b=a+1; b<k; b++){
  66. sum=odd[a]+odd[b];
  67. if(sum>=M){
  68. oddcount++;
  69. }
  70. else break;
  71. }
  72. }
  73. for(long long a=0; a<j-1; a++){
  74. for(long long b=a+1; b<j; b++){
  75. sum=even[a]+even[b];
  76. if(sum>=M){
  77. evencount++;
  78. }
  79. else break;
  80. }
  81. }
  82. printf("Case #%lld: %lld %lld\n", i+1, oddcount, evencount);
  83. }
  84.  
  85.  
  86.  
  87. return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement