| Task: | Käännöt |
| Sender: | |
| Submission time: | 2015-11-08 05:19:55 +0200 |
| Language: | Haskell |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.07 s | 1 | details |
| #2 | WRONG ANSWER | 0.06 s | 1 | details |
| #3 | WRONG ANSWER | 0.06 s | 1 | details |
| #4 | WRONG ANSWER | 0.08 s | 1 | details |
| #5 | WRONG ANSWER | 0.06 s | 1 | details |
| #6 | WRONG ANSWER | 0.07 s | 2 | details |
| #7 | WRONG ANSWER | 0.08 s | 2 | details |
| #8 | WRONG ANSWER | 0.07 s | 2 | details |
| #9 | WRONG ANSWER | 0.08 s | 2 | details |
| #10 | WRONG ANSWER | 0.07 s | 2 | details |
| #11 | WRONG ANSWER | 0.31 s | 3 | details |
| #12 | WRONG ANSWER | 0.32 s | 3 | details |
| #13 | WRONG ANSWER | 0.32 s | 3 | details |
| #14 | WRONG ANSWER | 0.32 s | 3 | details |
| #15 | WRONG ANSWER | 0.32 s | 3 | details |
Compiler report
input/code.hs:6:1: Warning:
Top-level binding with no type signature: maxN :: Int
input/code.hs:6:10: Warning:
Defaulting the following constraint(s) to type `Integer'
(Integral b0) arising from a use of `^' at input/code.hs:6:10
(Num b0) arising from the literal `5' at input/code.hs:6:11
In the expression: 10 ^ 5
In an equation for `maxN': maxN = 10 ^ 5
input/code.hs:8:1: Warning:
Top-level binding with no type signature: main :: IO ()
input/code.hs:19:22: Warning:
This binding for `sum' shadows the existing binding
imported from `Data.List' at input/code.hs:4:1-16
input/code.hs:31:7: Warning:
Defaulting the following constraint(s) to type `Integer'
(Integral b0) arising from a use of `^' at input/code.hs:31:7
(Num b0) arising from the literal `9' at input/code.hs:31:8
In the first argument of `(+)', namely `10 ^ 9'
In the expression: 10 ^ 9 + 7
In an equation for `m': m = 10 ^ 9 + 7
input/code.hs:44:17: Warni...Code
import Data.Array.Unboxed
import Data.Char
import Data.Int
import Data.List
maxN = 10^5
main = do
xs <- fmap (reverse . map digitToInt . filter isDigit) getContents
let n = genericLength xs :: Integer
let xs_a :: UArray Int Int64
xs_a = listArray (0,fromIntegral n-1) $ map fromIntegral xs
print n
print xs_a
print (map pow10 [0..10])
print (map pow10_range [0..10])
let t :: UArray Int Int64
t = listArray (0, fromIntegral (n+1)`div`2) . map (fromIntegral . fst) . genericTake n
$ iterate (\(sum,i) -> ((sum+pow10_range(n-i-1)-pow10_range(i-1)+m)`mod`m,i+1)) (pow10_range (n-1), 1)
let t2::Integer->Integer; t2 i = fromIntegral $ t ! fromIntegral (min i (n-i-1))
print (map t2 [0..n-1])
let pairs::Integer->Integer; pairs 0 = 0; pairs k = ((k-1)*(k-2)`div`2 + k-1)`mod`m
let f1 :: Integer -> Integer; f1 k = fromIntegral (xs_a!fromIntegral k) * pow10 k * fromIntegral (pairs(k+1) + pairs(n-k))
let f2 :: Integer -> Integer; f2 k = fromIntegral (xs_a!fromIntegral k) * t2 k
let s = foldl' (\acc k -> (acc+f1 k+f2 k)`mod`m) 0 [0..n-1]
print (map f1 [0..n-1])
print (map f2 [0..n-1])
print s
m :: Integral a => a
m = 10^9+7
pow10 :: Integer -> Integer
pow10 k = fromIntegral $ pow10_a ! fromIntegral k
pow10_range :: Integer -> Integer
pow10_range k = fromIntegral $ pow10_range_a ! fromIntegral k
pow10_a :: UArray Int Int64
pow10_a = listArray (0, maxN) . take maxN $ iterate (\n -> n*10`mod`m) 1
pow10_range_a :: UArray Int Int64
pow10_range_a = listArray (0, maxN) . map (fromIntegral . fst) . take maxN
$ iterate (\(sum,i) -> ((sum+pow10 i)`mod`m,i+1)) (1,1)
Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 825864589849478186996872119675... |
| correct output |
|---|
| 457966376 |
| user output |
|---|
| 100 array (0,99) [(0,8),(1,6),(2,8... |
Test 2
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 191658935877461356157657491987... |
| correct output |
|---|
| 176954270 |
| user output |
|---|
| 100 array (0,99) [(0,9),(1,9),(2,4... |
Test 3
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 348988594526165698179722696175... |
| correct output |
|---|
| 338693404 |
| user output |
|---|
| 100 array (0,99) [(0,2),(1,7),(2,9... |
Test 4
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 959161872742625799336943933597... |
| correct output |
|---|
| 585928712 |
| user output |
|---|
| 100 array (0,99) [(0,2),(1,6),(2,3... |
Test 5
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 925429363246698689162197257943... |
| correct output |
|---|
| 517617697 |
| user output |
|---|
| 100 array (0,99) [(0,1),(1,9),(2,4... |
Test 6
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 972591294933975999938266397628... |
| correct output |
|---|
| 667001154 |
| user output |
|---|
| 5000 array (0,4999) [(0,8),(1,8),(2... |
Test 7
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 275688881195265674233697529772... |
| correct output |
|---|
| 213272855 |
| user output |
|---|
| 5000 array (0,4999) [(0,8),(1,3),(2... |
Test 8
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 654678934762543351831648468742... |
| correct output |
|---|
| 465477034 |
| user output |
|---|
| 5000 array (0,4999) [(0,8),(1,5),(2... |
Test 9
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 852895263384279396767531876338... |
| correct output |
|---|
| 225052500 |
| user output |
|---|
| 5000 array (0,4999) [(0,1),(1,8),(2... |
Test 10
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 257723665884149498894428498943... |
| correct output |
|---|
| 169577498 |
| user output |
|---|
| 5000 array (0,4999) [(0,1),(1,6),(2... |
Test 11
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 965391619923528543348143963721... |
| correct output |
|---|
| 458795777 |
| user output |
|---|
| 100000 array (0,99999) [(0,3),(1,8),(... |
Test 12
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 934996116481518541954869782274... |
| correct output |
|---|
| 38884659 |
| user output |
|---|
| 100000 array (0,99999) [(0,7),(1,3),(... |
Test 13
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 356521595763548549682719476371... |
| correct output |
|---|
| 335143519 |
| user output |
|---|
| 100000 array (0,99999) [(0,4),(1,4),(... |
Test 14
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 691571977153731228387836644955... |
| correct output |
|---|
| 504860195 |
| user output |
|---|
| 100000 array (0,99999) [(0,9),(1,2),(... |
Test 15
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 882254176987218851832315176774... |
| correct output |
|---|
| 32749477 |
| user output |
|---|
| 100000 array (0,99999) [(0,5),(1,6),(... |
