#include <stdio.h>

void find_max_and_count(int size_minus_1, int *data, int *res_max, int *res_count) {
    int max = data[0]; 
    int count = 1;     

    for (int i = 1; i <= size_minus_1; i++) {
        if (data[i] > max) {
            max = data[i]; 
            count = 1;     
        } else if (data[i] == max) {
            count++;       
        }
    }

    *res_max = max;
    *res_count = count;
}

int main() {
   
    int data1[] = {10, 15, 30, 15, 30, 30, 7};
    int size1_minus_1 = 6; 
    int max1, count1;

    find_max_and_count(size1_minus_1, data1, &max1, &count1);
    printf("配列1: 最大値 = %d, 個数 = %d\n", max1, count1);

   
    int data2[] = {10, 10, 10, 10, 10, 10};
    int size2_minus_1 = 5; 
    int max2, count2;

    find_max_and_count(size2_minus_1, data2, &max2, &count2);
    printf("配列2: 最大値 = %d, 個数 = %d\n", max2, count2);

    return 0;
}