View Code of Problem 6

#include<stdio.h>
#define LEN 10000
int main()
{
    int t, n;
    int a[LEN], b[LEN];
    int i, j, kj, kab;
    int mins = 1, maxs = 10000;

    scanf ("%d",&t);
    for (i=0; i<t; i++)
    {
        scanf("%d", &n);
        for (j=0; j<n; j++)
        {
            scanf("%d%d", &a[j], &b[j]);
            /*if ( (b[j]-a[j]) > mins)
            mins = b[j] - a[j];*/
        }
        a[j] = LEN;

        /*if (n > 2)
        for (j=0; j<(n-2); j++)
        {
            if ( (a[j+2]-b[j]) < maxs)
                maxs = a[j+2] - b[j];
        }
        else
            maxs = b[1] - a[0];

        if (maxs < mins)
            printf("NO\n");
        else*/
        mins = b[0];
        maxs = a[1];
        {
            for (j=mins; j<(maxs+1); j++)
            {
                kab = 0;
                kj = 0;
                while (kab < n)
                {
                    //while ( (kj*j) < (a[kab]+1) )
                        kj++;
                    if ( ( (kj*j)>a[kab] && (kj*j)<b[kab] ) || (kj*j)>a[kab+1] )
                        break;
                    //else
                        kab++;
                }
                if (kab == n)
                {
                    printf("YES\n");
                    break;
                }
            }
            if (kab != n)
                printf("NO\n");
        }
    }
    return (0);
}

Double click to view unformatted code.


Back to problem 6