# 1 1º concurso con Kattis (6-nov-19)

La relación se encuentra aquí.

# 2 Ejercicios

## 2.1 A different problem

```main :: IO ()
main = interact resolucion

-- λ> resolucion <\$> readFile "sample.in" >>= putStr
-- 2
-- 71293781685339
-- 12345677654320
resolucion :: String -> String
resolucion = escribeSalida . solucion . leeEntrada

-- [10,12,71293781758123,72784,1,12345677654321]

-- λ> solucion [10,12,71293781758123,72784,1,12345677654321]
-- [2,71293781685339,12345677654320]
-- melgonaco
solucion :: [Integer] -> [Integer]
solucion (x:y:zs) = abs (x - y) : solucion zs
solucion _        = []

-- λ> escribeSalida [2,71293781685339,12345677654320]
-- "2\n71293781685339\n12345677654320\n"
escribeSalida :: [Integer] -> String
escribeSalida = unlines . map show
```

## 2.2 R2

```main :: IO ()
main = interact resolucion

-- λ> resolucion <\$> readFile "1.in" >>= putStr
-- 19
-- λ> resolucion <\$> readFile "2.in" >>= putStr
-- 2
resolucion :: String -> String
resolucion = escribeSalida . solucion . leeEntrada

-- [11,15]

-- λ> solucion [11,15]
-- 19
-- melgonaco
solucion :: [Int] -> Int
solucion [r1, s] = 2*s - r1

-- λ> escribeSalida 19
-- "19\n"
escribeSalida :: Int -> String
escribeSalida x = show x ++ "\n"
```

## 2.3 Cold-puter Science

```main :: IO ()
main = interact resolucion

-- λ> resolucion <\$> readFile "cold-001.in" >>= putStr
-- 1
-- λ> resolucion <\$> readFile "cold-002.in" >>= putStr
-- 5
resolucion :: String -> String
resolucion = escribeSalida . solucion . leeEntrada

-- [5,-10,15]