Submission

Status:
PPPPPPPPPP

Score: 100

User: Jokul

Problemset: ไฟส่อง

Language: c

Time: 0.001 second

Submitted On: 2025-04-18 17:34:56

#include <stdio.h>

int main() {
    int n, max = 0;
    scanf("%d", &n);
    int a[n], b[n];

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

    for (int i = 0; i < n; i++) {
        if (a[i] < b[i]) {
            for (int j = a[i]; j < b[i]; j++) {
                illuminated[j] = 1;
            }
        }
        else {
            for (int j = a[i]; j <360; j++) {
                illuminated[j] = 1;
            }
            for (int j = 0; j < b[i]; j++) {
                illuminated[j] = 1;
            }
        }
    }

    int current_length = 0;
    for (int i = 0; i <720; i++) {
        if (illuminated[i%360]) {
            current_length++;
        } else {
            if (current_length > max) {
                max = current_length;
            }
            current_length = 0;
        }
    }
    if (current_length > max) {
        max = current_length;
    }

    int total_illuminated = 0;
    for (int i = 0; i <360; i++) {
        if (illuminated[i]) {
            total_illuminated++;
        }
    }

    if (total_illuminated == 360) {
        printf("360\n");
    } else {
        printf("%d\n", max);
    }

    return 0;
}