Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.26 KB | None | 0 0
  1. #include<stdio.h>
  2. void quicksort(long long soal[],long long int min,long long int max)
  3. {
  4.     long long int i=min,j=max;
  5.     long long h;
  6.     long long pivot=soal[min];
  7.    
  8.     do
  9.     {
  10.         while(soal[i]<pivot)i++;
  11.         while(soal[j]>pivot)j--;
  12.         if(i<=j)
  13.         {
  14.             h=soal[i];
  15.             soal[i]=soal[j];
  16.             soal[j]=h;
  17.             i++;
  18.             j--;
  19.         }
  20.     }while(i<=j);
  21.     if(i<max)
  22.     {
  23.         quicksort(soal,i,max);
  24.     }
  25.     if(min<j)
  26.     {
  27.         quicksort(soal,min,j);
  28.     }
  29. }
  30.  
  31.  
  32. int main()
  33. {
  34.    
  35.     long long soal[100005],cari,even[10005],odd[10005],arr,kasus,genap,ganjil,temp,e,o;
  36.     scanf("%lld",&arr);
  37.     for(int i=0;i<arr;i++)
  38.     {
  39.         scanf("%lld",&soal[i]);
  40.     }
  41.     quicksort(soal,0,arr-1);
  42.     e=0;o=0;
  43.     for(int i=0;i<arr;i++)
  44.     {
  45.         if(soal[i]%2==0)
  46.         {
  47.             even[e]=soal[i];
  48.             e++;
  49.         }
  50.         else
  51.         {
  52.             odd[o]=soal[i];
  53.             o++;
  54.         }
  55.     }
  56.     scanf("%lld",&kasus);
  57.     for(int k=0;k<kasus;k++)
  58.     {
  59.         scanf("%lld",&cari);
  60.         genap=0;ganjil=0;
  61.         for(int i=e-1;i>0;i--)
  62.         {
  63.             for(int j=i-1;j>=0;j--)
  64.             {
  65.                 if(even[i]+even[j]>=cari)
  66.                 {
  67.                     genap++;
  68.                 }
  69.                 else
  70.                 break;
  71.             }
  72.         }
  73.         for(int i=o-1;i>0;i--)
  74.         {
  75.             for(int j=i-1;j>=0;j--)
  76.             {
  77.                 if(odd[i]+odd[j]>=cari)
  78.                 {
  79.                     ganjil++;
  80.                 }
  81.                 else
  82.                 break;
  83.             }
  84.         }
  85.        
  86.        
  87.         printf("Case #%d: %lld %lld\n",k+1,ganjil,genap);
  88.        
  89.     }
  90.    
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement