c++ TLE到死,G++水过

#include<cstdio>
#include<algorithm>
using namespace std;
int num[1000005];
int n=0;
int res = 0,c;
bool Judge()
{
    if(n<=3)
        return false;
    if(num[0]+num[1]>num[n-1])
        return false;
    for(int i = 0; i<n-2; ++i)
        if(num[i]+num[i+1]>num[i+2])
            return true;
    return false;
}
int main()
{

    while(c=getchar())
    {
        if(c>='0'&&c<='9')
            n = n*10 + c-'0';
        else
            break;
    }
    for(int i = 0; i<n; ++i)
    {
        num[i] = 0;
        while(c=getchar())
        {
            if(c>='0'&&c<='9')
                num[i] = num[i]*10 + c-'0';
            else
                break;
        }
    }
    sort(num,num+n);
    if(Judge())
        puts("The set is accepted.");
    else
        puts("The set is rejected.");
    return 0;
}