Submission

Status:
[-SSS][-SSS][-SSS][-SSS][-SSS][-SSS][-SSS][-SSS]

Score: 0

User: Jokul

Problemset: ขนมปัง

Language: c

Time: 0.002 second

Submitted On: 2025-04-02 18:36:47

#include <stdio.h>

int main() {
    int w, h, m, n,result1=0,result2=0;
    scanf("%d", &w);
    scanf("%d", &h);
    scanf("%d", &m);
    scanf("%d", &n);

    int a[m + 2], b[n + 2],check1[m+2],check2[n+2];
    a[0] = 0;
    b[0] = 0;
    a[m + 1] = w;
    b[n + 1] = h;

    for (int i = 1; i <= m; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 1; i <= n; i++) {
        scanf("%d", &b[i]);
    }

    // Finding max1 and max2 for array a
    int max[4]={0};
    for (int i = 0; i < m + 1; i++) {
        int j = i+1;
            int diff = a[j] - a[i];
            if (diff > max[0]) {
                max[1] = max[0];
                max[0] = diff;
            } else if (diff > max[1] && diff < max[0]) {
                max[1] = diff;
            }
        }

    for (int i = 0; i < n + 1; i++) {
        int j = i+1;
            int diff = b[j] - b[i];
            if (diff > max[2]) {
                max[3] = max[2];
                max[2] = diff;
            } else if (diff > max[3] && diff < max[2]) {
                max[3] = diff;
            }
        }
    for(int i=2;i<4;i++)
        {
            for(int j=0;j<2;j++)
            if(max[i]*max[j]>result1)
            {
                result2=result1;
                result1=max[i]*max[j];
            }
            else if(max[i]*max[j]>result2&&max[i]*max[j]<result1)
                result2=max[i]*max[j];
        }
    for(int i=0;i<4;i++)
        {
            printf("%d ",max[i]);
        }


    printf("%d %d\n", result1, result2);
    return 0;
}