Description
Input
一行两个整数k,p。
Output
一行一个整数表示答案。
Sample Input
1 3
Sample Output
6
Data Constraint
对于20%的数据:kp<=10^5。
对于另外20%的数据k=1。
对于70%的数据:kp<=10^9。
对于100%的数据:k,p<=10^9。
思路
代码
#include<iostream>
#include<cstdio>
using namespace std;
long long k,p,x,y,m;
int main()
{
scanf("%lld%lld",&k,&p);
if(p==2)
{
printf("%d",k%2);
return 0;
}
x=p/2+1,k=(k-1)%p+1,y=x+k-1,m=p*p;
printf("%lld",(x+y)*k/2%p*p%m);
}