11850 - Alaska

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<stdlib.h>
#include<vector>
using namespace std;
int location[2000];
int main()
{
    int n,i,j,loc,counter,a,b,c,d;
    while(scanf("%d",&n)==1)
    {
        if(n==0)
        {
            break;
        }
        j=0;
        for(i=0; i<n; i++)
        {
            scanf("%d",&loc);
            location[i]=loc;
        }
        location[i++]=1422;
        sort(location,location+i);
        counter=0;
        d=1;
        for(j=0; j<i; j++)
        {
            a=abs(location[j]-location[j+1]);
            if(a>200)
            {
                printf("IMPOSSIBLE\n");
                d=0;
                break;
            }
            if(a<=200)
            {
                counter=1;
            }
            if(a<=200&&j==(n-1))
            {
                b=1422-location[j];
                c=a+b;
                if(c<=200)
                {
                    counter=1;
                    break;
                }
                else
                {
                    counter=0;
                    break;
                }
            }
        }
        if(d==0)
        {
            continue;
        }
        if(counter==1)
        {
            printf("POSSIBLE\n");
        }
        else
        {
            printf("IMPOSSIBLE\n");
        }
        memset(location,0,sizeof(location));
    }
    return 0;
}

0 comments: (+add yours?)