View Code of Problem 61

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
    
    int nums = 0;
    int n = 0;
    scanf("%d",&nums);
    for(int i = 0;i<nums;i++){
        scanf("%d",&n);
        int *arr = malloc(sizeof(int) * n);
        int min = 0;
        for(int j = 0;j<n;j++){
            scanf("%d",&arr[j]);
        }
        for(int j = 0;j<n;j++){
            for(int z = j;z<n;z++){
                if(arr[j] > arr[z]){
                    int temp = arr[j];
                    arr[j] = arr[z];
                    arr[z] = temp;
                }
            }
        }
        int w_max = -1;
        int w = 0;
        for(int i = 0;i<n;i++){
            w = arr[i] * (n-i);
            // printf("%d,%d\n",arr[i],(n-i));
            if(w > w_max){
                w_max = w;
            }
        }
        //W = N * Min
        printf("%d\n",w_max);
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 61