易错点:时间轴的遍历,起点应该为d+1~d+21252,有两个小陷阱,一个是所给的p e i不一定是最先出现的峰值,可以是任意峰值;另一个是最后算出的答案要比d大,不然相减是负数输出不对。
【北大oj百练-1006/4148生理周期】相关知识:欧几里得定理、中国剩余定理
#include
#include
using namespace std;
int main()
{
int day,p,e,i,d,max=0,case0=1;
while(scanf("%d%d%d%d",&p,&e,&i,&d)!=EOF)
{
if(p==-1)
break;
for(int j=d+1;
j