1 #include<iostream> 2 #include<string.h> 3 #include<stdio.h> 4 #define INF 3000000000 5 #define LL long long 6 using namespace std; 7 8 int main(){ 9 LL n,A,B,l,mod,num,a; 10 LL max1,min,M; 11 while(~scanf("%I64d%I64d%I64d%I64d%I64d",&n,&l,&A,&B,&mod)){ 12 max1=-1,num=0;min=INF;M=l/2; 13 for(LL i=1;i<=n;i++){ 14 if (i==1) a=(A+B)%mod;else a=(a+A)%mod; 15 if (a<=M){ 16 if (a>max1) max1=a; 17 num++; 18 } 19 else{ 20 if (a<min) min=a; 21 } 22 } 23 if (max1+min<=l) num++; 24 printf("%I64d\n",num); 25 } 26 return 0; 27 28 }
2012 Multi-University Training Contest 8,布布扣,bubuko.com
2012 Multi-University Training Contest 8
原文:http://www.cnblogs.com/little-w/p/3602512.html