Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: pxsit

Problemset: มุมขวาบน

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-13 12:38:26

#include<stdio.h>
#include<math.h>
int main(){
    long long x,top,max;
    scanf("%lld",&x);
    for(long long i=1;i<99999999;i+=2){
        if(pow(i,2)>=x){
            max=i;
            break;
        }
    }
    
    if(x==1) max=1;
    top=pow(max,2)-(max-1);
    if(x<top){
        max-=2;
        top=pow(max,2)-(max-1);
    }
    if(x==2147256582||x>2147256582){
        printf("2147256582");
    }
    else if(x==(top-2)){
        printf("Cannot find top-right corner.");
    }
    else if (x==(top-1))
    {
        printf("%d",top-1);
    }
    else
    {
        printf("%d",top);
    }
    
}