Submission #4704278
Source Code Expand
import Data.Int import Data.List modulo :: Int64 modulo = 10^9 + 7 newtype N = N Int64 deriving Eq instance Show N where show (N x) = show x instance Num N where N x + N y = N ((x + y) `rem` modulo) N x - N y = N ((x - y) `mod` modulo) N x * N y = N ((x * y) `rem` modulo) fromInteger n = N (fromInteger (n `mod` fromIntegral modulo)) abs = undefined; signum = undefined solution :: [(N,N,N)] solution = (1,0,0):(4,0,1):(16,1,4):(61,3,15) : zipWith4 (\(a1,b1,c1) (a2,b2,c2) (a3,b3,c3) (a4,b4,c4) -> (4*a1-3*a3+b3+c3-3*a4,a2-c2,a1-b1)) (drop 3 solution) (drop 2 solution) (tail solution) solution main = do n <- readLn :: IO Int print $ case solution !! n of (N x,_,_) -> x
Submission Info
Submission Time | |
---|---|
Task | D - We Like AGC |
User | mod_poppo |
Language | Haskell (GHC 7.10.3) |
Score | 400 |
Code Size | 729 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 508 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03 |
All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 2 ms | 508 KiB |
a02 | AC | 1 ms | 508 KiB |
a03 | AC | 2 ms | 508 KiB |
b04 | AC | 2 ms | 508 KiB |
b05 | AC | 2 ms | 508 KiB |
b06 | AC | 2 ms | 508 KiB |
b07 | AC | 2 ms | 508 KiB |
b08 | AC | 2 ms | 508 KiB |
b09 | AC | 2 ms | 508 KiB |
b10 | AC | 2 ms | 508 KiB |
b11 | AC | 2 ms | 508 KiB |
b12 | AC | 2 ms | 508 KiB |
b13 | AC | 2 ms | 508 KiB |