CRYPTO1 - The Bytelandian Cryptographer (Act I)
The infamous Bytelandian Bit-eating Fanatic Organisation (BBFO for short) plans to launch an all-out denial-of-service attack on the Bytelandian McDecimal's fast food network by blocking the entrance to every restaurant with a camel (the purpose being to rid the Organisation of unhealthy competition, obviously). In a sly and perfidious move, the head cryptographer of BBFO decided to disclose the date and time of the planned attack to the management of McDecimal's, but in encrypted form (ha ha). He calculated the number of seconds from midnight 1970.01.01 GMT to the moment of attack, squared it, divided it by 4000000007 and sent the remainder by e-mail to McDecimal's. This made the original date impossible to decode.
Or did it?
* * *
You work as the head algorithmist at McDecimal's HQ and know nothing of what is happening in Byteland. Things are not going well. You are playing a quiet game of hearts against your computer and wondering why on earth Management are considering making you redundant. Suddenly, the CEO bursts into your office, saying:
- Look here, young man[lady]! I have this number and those guys claim it is supposed to be some date. I am giving you one second to tell me what it all means!
I am afraid you have no choice. You can't ask any further questions.
You just have to answer, now.
Input
The encrypted timestamp.
Output
The decrypted GMT time and date of attack, somewhere between 1970 and 2030, using standard 26 character formatting.
Example
Input: 1749870067 Output: Sun Jun 13 16:20:39 2004
hide comments
python_user:
2015-10-31 05:35:52
make sure that you use unsigned long long as the data type for the variables!! Last edit: 2015-10-31 05:36:21 |
|
skrishna99:
2015-07-25 06:06:16
can we use tonelli shanks algorithm for this? or any different algorithm is there? |
|
Parth:
2015-05-14 22:16:23
Nice Question !!
|
|
djordje:
2015-02-24 08:35:48
For given input, I have Jun 13 18:20:39 2004 for output (1087143639 in seconds). Is this correct? I see 1087143639 is solution by more users |
|
Hot-Shot:
2014-12-26 15:27:28
yeah it is....
|
|
sparky:
2014-12-07 10:53:47
Very nice question.
|
|
Baojun Wang:
2014-09-27 20:44:08
SPOJ GHC (6.10) is way too old and seems broken, sometimes is very painful to spend time on unwanted stuff because seems nobody even have GHC 6.10 installed. I got AC with below function to convert time:
|
|
Gonzalo Ciruelos:
2014-08-25 02:57:56
I submitted a solution in haskell and it fails to compile because the system lacks "Data.Time.Format", can somebody tell me how to proceed? Last edit: 2014-08-25 02:58:18 |
|
Dorijan Cirkveni:
2014-03-01 20:10:44
Do I have to write e.g. 00:02:05?
|
|
Tanmay Kulshrestha:
2013-06-17 18:25:36
for the given output, the input should be 1749870178.What is wrong???? |
Added by: | adrian |
Date: | 2004-05-13 |
Time limit: | 1s |
Source limit: | 10000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: NODEJS PERL6 VB.NET |
Resource: | ;) |