Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Chawin
Problemset: มุมขวาบน
Language: c
Time: 0.003 second
Submitted On: 2025-10-10 20:07:00
#include <stdio.h>
#include <string.h>
int main(){
int n;
scanf("%d", &n);
if (n == 1) {
printf("1");
return 0;
}
int k = 1;
while((2*k-1)*(2*k-1) < n) k++;
int topRight = (2*k - 1) * (2*k - 1) - (2*k - 2);
int innerTopRight = (k > 1) ? ((2*(k-1)-1)*(2*(k-1)-1) - (2*(k-1)-2)) : 1;
if(n == topRight - 2){
printf("Cannot find top-right corner.");
}
else if(n < topRight){
printf("%d", innerTopRight);
}
else{
printf("%d", topRight);
}
return 0;
}