Codeforces 450 B. Jzzhu and Sequences, codeforcesjzzhu
6 loops... it is very difficult to take the modulo...
B. Jzzhu and Sequencestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output
Jzzhu has sorted Ted a kind of sequences, they meet the following property:
You are givenXAndY, Please calculateFNModulo 1000000007 (109 bytes + limit 7 ).
Input
The first line contains two integersXAndY(|X|, Bytes |Y| Limit ≤ limit 109). The second line contains a single integerN(1 digit ≤ DigitNLimit ≤ limit 2-109 ).
Output
Output a single integer representingFNModulo 1000000007 (109 bytes + limit 7 ).
Sample test (s) input
2 33
Output
1
Input
0 -12
Output
1000000006
Note
In the first sample,F2 bytes = bytesF1 worker + workerF3, 3 rows = second 2 rows + secondF3,F3 rows = rows 1.
In the second sample,F2 bytes = average-cost 1; average-cost 1 modulo (109 bytes + limit 7) equals (109 bytes + limit 6 ).
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long int LL;const LL mod=1000000007LL;LL a,b,n;int main(){ cin>>a>>b>>n; n--; n=n%6; LL ans=0; switch(n) { case(0): { ans=(a+mod)%mod; break; } case(1): { ans=(b+mod)%mod; break; } case(2): { ans=(b-a+2*mod)%mod; break; } case(3): { ans=(mod-a)%mod; break; } case(4): { ans=(mod-b)%mod; break; } case(5): { ans=(a-b+2*mod)%mod; break; } } cout<<ans<<endl; return 0;}