Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- long long int rekursif(long long int angka,long long int batas)
- {
- long long int nilai;
- if(batas==0)
- {
- return 0;
- }
- return angka*batas+rekursif(angka+1,batas-1);
- }
- void quicksort(long long int arr[],int min,long long int max)
- {
- long long int i=min,j=max,h;
- long long int pivot=arr[min];
- do
- {
- while(arr[i]<pivot)i++;
- while(arr[j]>pivot)j--;
- if(i<=j)
- {
- h=arr[i];
- arr[i]=arr[j];
- arr[j]=h;
- i++;
- j--;
- }
- }while(i<=j);
- if(i<max)
- {
- quicksort(arr,i,max);
- }
- if(min<j)
- {
- quicksort(arr,min,j);
- }
- }
- int main()
- {
- long long kasus,batas,arr[100001],hasil,limit,output,total=0,nilai=0,max,mentok;
- scanf("%lld",&kasus);
- for(int i=0;i<kasus;i++)
- {
- scanf("%lld",&batas);
- for(int j=0;j<batas;j++)
- {
- scanf("%lld",&arr[j]);
- }
- quicksort(arr,0,batas-1);
- scanf("%lld",&limit);
- max=0;mentok=0;hasil=0;
- for(int j=batas-1;j>=0;j--)
- {
- for(int k=1;k<batas;k++)
- {
- nilai=arr[j];
- hasil=rekursif(nilai,k);
- if(hasil<=limit)
- {
- max=hasil;
- // printf("HAHAHA: %lld %lld\n",nilai,k);
- }
- else if(hasil>limit)
- break;
- }
- if(max>mentok && max<=limit)
- {
- mentok=max;
- }
- else if(max>limit)
- {
- break;
- }
- }
- printf("Case #%lld: %lld\n",i+1,mentok);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement