Source code
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<stdio.h>
using namespace std;
int main()
{
int n;
vector<int>dist;
while(cin>>n)
{
if(n==0)
{
break;
}
dist.clear();
for(int i=0; i<n; i++)
{
int a;
cin>>a;
dist.push_back(a);
}
dist.push_back(1422);
sort(dist.begin(), dist.end());
int flag = 1;
for(int i=0; i<n; i++)
{
if(dist[i+1]>dist[i]+200)
{
flag = 0;
break;
}
}
if(flag==1)
{
int total = 1422 - (dist[n-1]+200-1422);
if(dist[n-1]<total)
{
flag = 0;
}
}
if(flag==0)
{
cout<<"IMPOSSIBLE"<<endl;
}
else
{
cout<<"POSSIBLE"<<endl;
}
}
return 0;
}
Add your comment