传送门

话说这是我第二次参加cf上的比赛了,虽然赛题的前两题都比较水,但是这个题是我第一次在cf上比赛时交过的题,极具纪念意义,好了,不说那么多有的没的了。

这个题的意思就是对于给定的数x,找到两个数a,b满足以下条件:

  • a % b == 0
  • a * b > x
  • a / b < x

可以看出a,b是不唯一的,所以这道题是SPJ,那我们只要找到最好找的就好了。a * b 最大的时候,就是a == b == x对吧,正好这时候也满足题目中的其它要求。如果x * x 都不满足大于 x 这个条件的话,肯定就无解了,所以我们只需要判断这个条件就好了,想明白之后,代码就很简单了。

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n * n > n)
        printf("%d %d",n,n);
    else
        printf("-1");
    return 0;
}