2300
Faixa de problemas: 2300-2399
Total: 38 problemas
2306 - Escada Perfeita
Descrição do Problema: 2306 - Escada Perfeita
2306 - Escada Perfeita |
---|
| n = leia_inteiro
cubos = leia_inteiros(" ")
soma = cubos.injete(0)(_ + _)
num = 2 * soma + n - n * n
den = 2 * n
a1 = num div den
resto = num mod den
resposta = se resto == 0 e a1 > 0 então
an = a1 + n - 1
indice = para i de a1 até an gere i fim
cubos.zip(indice)
.mapeie(a => (a.primeiro - a.segundo).abs)
.injete(0)(_ + _) div 2
senão
-1
fim
escreva resposta
|
2310 - Voleibol
Descrição do Problema: 2310 - Voleibol
2310 - Voleibol |
---|
| n = leia_inteiro
var tentativas, sucesso := [0, 0, 0]
para i de 1 ate n faca
nome = leia_texto
a, b = leia_inteiros(" ")
para j de 1 ate 3 faca
tentativas[j] := tentativas[j] + a[j]
sucesso[j] := sucesso[j] + b[j]
fim
fim
fundamentos = ["Saque", "Bloqueio", "Ataque"]
para j de 1 ate 3 faca
pontos = sucesso[j] * 100 / tentativas[j]
escreva "Pontos de {fundamentos[j]}: {pontos formato "%.2f"} %."
fim
|
2311 - Saltos Ornamentais
Descrição do Problema: 2311 - Saltos Ornamentais
2311 - Saltos Ornamentais |
---|
| n = leia_inteiro
para i de 1 até n faça
nome = leia_texto
gd = leia_real
notas = leia_reais(" ")
.ordene
.descarte(1)
.pegue(5)
soma = notas.injete(0.0)(_ + _)
escreva "{nome} {soma * gd formato "%.2f"}"
fim
|
2312 - Quadro De Medalhas
Descrição do Problema: 2312 - Quadro De Medalhas
2312 - Quadro De Medalhas |
---|
| tipo Pais = (Texto, Inteiro, Inteiro, Inteiro)
comparar = (a, b: Pais) =>
se a.segundo <> b.segundo entao
a.segundo > b.segundo
senaose a.terceiro <> b.terceiro entao
a.terceiro > b.terceiro
senaose a.quarto <> b.quarto entao
a.quarto > b.quarto
senao
a.primeiro < b.primeiro
fim
n = leia_inteiro
paises = Lista(n, leia_textos(" "))
.mapeie(a => (a[1], a[2].inteiro, a[3].inteiro, a[4].inteiro))
ordem = paises.ordene(comparar)
escreva ordem.mapeie(a => "{a.primeiro} {a.segundo} {a.terceiro} {a.quarto}").junte("\n")
|
2313 - Qual Triângulo
Descrição do Problema: 2313 - Qual Triângulo
2313 - Qual Triângulo |
---|
| lados = leia_inteiros(" ").ordene
a, b, c = lados[1], lados[2], lados[3]
se a + b > c entao
imprima "Valido-"
escreva se a == c entao
"Equilatero"
senaose a == b ou b == c entao
"Isoceles"
senao
"Escaleno"
fim
escreva "Retangulo: {se a * a + b * b == c * c entao "S" senao "N" fim}"
senao
escreva "Invalido"
fim
|
2322 - Peça Perdida
Descrição do Problema: 2322 - Peça Perdida
2322 - Peça Perdida |
---|
| n = leia_inteiro
nums = (0 :: (n + 1) :: leia_inteiros(" ")).ordene
escreva nums.divida_quando((a, b) => b - a > 1)[2].cabeça - 1
|
2327 - Quadrados
Descrição do Problema: 2327 - Quadrados
2327 - Quadrados |
---|
| somar_linha(a: Lista[Lista[Inteiro]], n: Inteiro) =
(f: Inteiro => (Inteiro, Inteiro)) =>
para i de 1 até n gere
a[f(i).primeiro][f(i).segundo]
fim.injete(0)(_ + _)
n = leia_inteiro
a = para i de 1 até n gere leia_inteiros(" ") fim
s = somar_linha(a, n)
soma = ( s(i => (i, i)) :: # diagonal principal
s(i => (i, n - i + 1)) :: # diagonal secundária
para j de 1 ate n gere s(i => (j, i)) fim +
para j de 1 ate n gere s(i => (i, j)) fim ).ordene
escreva se soma[1] == soma[-1] então soma[1] senão -1 fim
|
2328 - Chocolate
Descrição do Problema: 2328 - Chocolate
2328 - Chocolate |
---|
| n = leia_inteiro
a = leia_inteiros(" ")
s = a.injete(0)(_ + _) - n
escreva s
|
2334 - Patinhos
Descrição do Problema: 2334 - Patinhos
2334 - Patinhos |
---|
| var entrada := leia_texto
enquanto entrada <> "-1" faca
se entrada == "0" entao
escreva 0
senao
escreva BigInt(entrada) - 1
fim
entrada := leia_texto
fim
|
2336 - ABC
Descrição do Problema: 2336 - ABC
2336 - ABC |
---|
| var s := leia_texto
enquanto nao eof faça
abc = s.lista.mapeie(_ - 'A')
decimal = abc.injete(BigInt(0))((a,b) => (a * 26 + b) mod 1000000007)
escreva decimal
s := leia_texto
fim
|
2338 - Morse
Descrição do Problema: 2338 - Morse
2338 - Morse |
---|
| letras = ["=.===", "===.=.=.=", "===.=.===.=", "===.=.=", "=", "=.=.===.=",
"===.===.=", "=.=.=.=","=.=", "=.===.===.===", "===.=.===", "=.===.=.=",
"===.===", "===.=", "===.===.===", "=.===.===.=", "===.===.=.===",
"=.===.=", "=.=.=", "===", "=.=.===", "=.=.=.===", "=.===.===",
"===.=.=.===", "===.=.===.===", "===.===.=.="]
ponto = "\\."
converta_letra(letra: Texto) = (letras.posição(letra) + 96).caractere
converta_palavra(palavra: Texto) = palavra.divida(ponto * 3).mapeie(converta_letra).junte("")
t = leia_inteiro
para i de 1 até t faça
s = leia_texto
palavras = s.divida(ponto * 7).mapeie(converta_palavra).junte(" ")
escreva palavras
fim
|
2339 - Aviões de Papel
Descrição do Problema: 2339 - Aviões de Papel
2339 - Aviões de Papel |
---|
| a = leia_inteiros(" ")
c, p, f = a[1], a[2], a[3]
se c * f <= p entao
escreva "S"
senão
escreva "N"
fim
|
2341 - Número de Envelopes
Descrição do Problema: 2341 - Número de Envelopes
2341 - Número de Envelopes |
---|
| entrada = leia_inteiros(" ")
n, k = entrada[1], entrada[2]
xs = leia_inteiros(" ")
var envelopes = Lista.mutável(k, 0)
para x em xs faca
envelopes[x] := envelopes[x] + 1
fim
rotulos = envelopes.ordene[1]
escreva rotulos
|
2342 - Overflow
Descrição do Problema: 2342 - Overflow
2342 - Overflow |
---|
| n = leia_inteiro
exp = leia_textos(" ")
p, c, q = exp[1].inteiro, exp[2], exp[3].inteiro
valor = escolha c
caso "*" => p.inteiro * q.inteiro
caso _ => p.inteiro + q.inteiro
fim
se valor > n entao
escreva "OVERFLOW"
senao
escreva "OK"
fim
|
2344 - Notas da Prova
Descrição do Problema: 2344 - Notas da Prova
2344 - Notas da Prova |
---|
| n = leia_inteiro
escolha n
caso 0 => escreva "E"
caso x se x <= 35 => escreva "D"
caso x se x <= 60 => escreva "C"
caso x se x <= 85 => escreva "B"
caso _ => escreva "A"
fim
|
2345 - Assigning Teams
Descrição do Problema: 2345 - Assigning Teams
2345 - Assigning Teams |
---|
| x = leia_inteiros(" ")
dif = abs((x[1] + x[4]) - (x[2] + x[3]))
escreva dif
|
2349 - Farm Robot
Descrição do Problema: 2349 - Farm Robot
2349 - Farm Robot |
---|
| n = leia_inteiros(3)
var pos := 1
var cont := se n[3] == 1 então 1 senão 0 fim
para comando em leia_inteiros(n[2]) faça
pos := pos + comando
se pos > n[1] então
pos := 1
senãose pos < 1 então
pos := n[1]
fim
se pos == n[3] então
cont := cont + 1
fim
fim
escreva cont
|
2355 - Brasil e Alemanha
Descrição do Problema: 2355 - Brasil e Alemanha
2355 - Brasil e Alemanha |
---|
| var n := leia_inteiro
enquanto n > 0 faça
brasil = (n / 90).piso.inteiro
alemanha = (n / 90 * 7).teto.inteiro
escreva "Brasil {brasil} x Alemanha {alemanha}"
n := leia_inteiro
fim
|
2356 - Bactéria I
Descrição do Problema: 2356 - Bactéria I
2356 - Bactéria I |
---|
| var d := leia_texto
enquanto nao eof faca
s = leia_texto
var i := 0
enquanto i < d.tamanho - s.tamanho + 1 faca
se d.descarte(i).pegue(s.tamanho) == s entao
escreva "Resistente"
i := d.tamanho
senao
i := i + 1
fim
fim
se i < d.tamanho entao
escreva "Nao resistente"
fim
d := leia_texto
fim
|
2369 - Conta de Água
Descrição do Problema: 2369 - Conta de Água
2369 - Conta de Água |
---|
| n = leia_inteiro
var conta := 7
se n > 10 então
conta := conta + (n - 10)
fim
se n > 30 então
conta := conta + (n - 30)
fim
se n > 100 então
conta := conta + (n - 100) * 3
fim
escreva conta
|
2373 - Garçom
Descrição do Problema: 2373 - Garçom
2373 - Garçom |
---|
| n = leia_inteiro
var total := 0
para i de 1 ate n faca
a = leia_inteiros(" ")
l, c = a[1], a[2]
se l > c entao total := total + c fim
fim
escreva total
|
2374 - Pneu
Descrição do Problema: 2374 - Pneu
2374 - Pneu |
---|
| n, m = leia_inteiro
escreva n - m
|
2375 - Sedex
Descrição do Problema: 2375 - Sedex
2375 - Sedex |
---|
| n = leia_inteiro
entrada = leia_inteiros(" ")
a = entrada[1]
b = entrada[2]
c = entrada[3]
se n <= a e n <= b e n <= c então
escreva "S"
senão
escreva "N"
fim
|
2376 - Copa do Mundo
Descrição do Problema: 2376 - Copa do Mundo
2376 - Copa do Mundo |
---|
| jogos = para i de 1 ate 15 gere
a = leia_inteiros(" ")
a[1] > a[2]
fim
jogo1 =
se jogos[15] entao
se jogos[13] entao
se jogos[9] entao 1 senao 2 fim
senao
se jogos[10] entao 3 senao 4 fim
fim
senao
se jogos[14] entao
se jogos[11] entao 5 senao 6 fim
senao
se jogos[12] entao 7 senao 8 fim
fim
fim
campeao = se jogos[jogo1] entao jogo1 * 2 - 1 senao jogo1 * 2 fim
escreva "ABCDEFGHIJKLMNOP"[campeao]
|
2377 - Pedágio
Descrição do Problema: 2377 - Pedágio
2377 - Pedágio |
---|
| linha1, linha2 = leia_inteiros(" ")
l = linha1[1]
d = linha1[2]
k = linha2[1]
p = linha2[2]
pedagios = l div d
custo = l * k + pedagios * p
escreva custo
|
2378 - Elevador
Descrição do Problema: 2378 - Elevador
2378 - Elevador |
---|
| a = leia_inteiros(" ")
n, c = a[1], a[2]
var excedida := "N"
var pessoas := 0
var i := 0
enquanto i < n faca
b = leia_inteiros(" ")
pessoas := pessoas + b[2] - b[1]
se pessoas > c entao
excedida := "S"
i := n
fim
i := i + 1
fim
escreva excedida
|
2381 - Lista de Chamada
Descrição do Problema: 2381 - Lista de Chamada
2381 - Lista de Chamada |
---|
| a = leia_inteiros(" ")
n, k = a[1], a[2]
nomes = leia_textos(n)
escreva nomes.ordene[k]
|
2382 - Sedex Marciano
Descrição do Problema: 2382 - Sedex Marciano
2382 - Sedex Marciano |
---|
| d = leia_inteiros(4)
lados = d.pegue(3).ordene(_ > _)
l1, l2 = lados[1], lados[2]
r = d[4]
se l1 * l1 + l2 * l2 <= 4 * r * r entao
escreva "S"
senao
escreva "N"
fim
|
2386 - Telescópio
Descrição do Problema: 2386 - Telescópio
2386 - Telescópio |
---|
| a, n = leia_inteiro
z = 40000000 / a
var soma := 0
para i de 1 ate n faca
f = leia_inteiro
se f >= z entao
soma := soma + 1
fim
fim
escreva soma
|
2388 - Tacógrafo
Descrição do Problema: 2388 - Tacógrafo
2388 - Tacógrafo |
---|
| n = leia_inteiro
var soma := 0
para i de 1 ate n faca
linha = leia_inteiros(" ")
t, v = linha[1], linha[2]
soma := soma + t * v
fim
escreva soma
|
2389 - Floresta
Descrição do Problema: 2389 - Floresta
2389 - Floresta |
---|
| x = leia_inteiro
limite = raiz(x / 2).inteiro
var combinações := 0
para n de 1 até limite faça
se (n + x) mod (2 * n + 1) == 0 então
combinações := combinações + 1
fim
fim
escreva combinações
# combinações = para n de 1 ate limite se (n + x) mod (2 * n + 1) == 0 gere 1 fim.tamanho
|
2390 - Escada Rolante
Descrição do Problema: 2390 - Escada Rolante
2390 - Escada Rolante |
---|
| n = leia_inteiro
var tempo, anterior := 0, -1
para i de 1 até n faça
atual = leia_inteiro
dif = atual - anterior
se anterior <> -1 e dif < 10 então
tempo := tempo - (10 - dif)
fim
anterior := atual
tempo := tempo + 10
fim
escreva tempo
|
2391 - Progressões Aritméticas
Descrição do Problema: 2391 - Progressões Aritméticas
2391 - Progressões Aritméticas |
---|
| pas(nums: Lista[Inteiro], tamanho, total: Inteiro): Inteiro =
se tamanho < 3 então total
senãose nums[1] + nums[3] == 2 * nums[2] então pas(nums.cauda, tamanho - 1, total)
senão pas(nums.descarte(2), tamanho - 2, total + 1)
fim
n = leia_inteiro
a = leia_inteiros(" ")
escreva pas(a, n, 1)
# # Imperativo
# var n := leia_inteiro
# var a := leia_inteiros(" ")
# var total := 1
# enquanto n > 2 faça
# se a[1] + a[3] == 2 * a[2] então
# a := a.descarte(1)
# n := n - 1
# senão
# a := a.descarte(2)
# n := n - 2
# total := total + 1
# fim
# fim
# escreva total
|
2394 - Corrida 1
Descrição do Problema: 2394 - Corrida 1
2394 - Corrida 1 |
---|
| n = leia_inteiro
tempos = para i de 1 ate n gere leia_inteiros(" ").injete(0)(_ + _) fim
menor = tempos.ordene.cabeca
ganhador = tempos.posicao(menor)
escreva ganhador
|
2395 - Transporte de Contêineres
Descrição do Problema: 2395 - Transporte de Contêineres
2395 - Transporte de Contêineres |
---|
| c = leia_inteiros(" ")
n = leia_inteiros(" ")
escreva (n[1] div c[1]) * (n[2] div c[2]) * (n[3] div c[3])
|
2396 - Corrida
Descrição do Problema: 2396 - Corrida
2396 - Corrida |
---|
| n = leia_inteiro
tempos = para i de 1 ate n gere leia_inteiros(" ").injete(0)(_ + _) fim
primeiros = tempos.ordene
escreva tempos.posicao(primeiros[1])
escreva tempos.posicao(primeiros[2])
escreva tempos.posicao(primeiros[3])
|
2397 - Triângulos
Descrição do Problema: 2397 - Triângulos
2397 - Triângulos |
---|
| lados = leia_inteiros(" ").ordene
a, b, c = lados[1], lados[2], lados[3]
d = c * c - (a * a + b * b)
escolha d
caso d se d >= 2 * a * b => escreva "n"
caso d se d > 0 => escreva "o"
caso d se d < 0 => escreva "a"
caso _ => escreva "r"
fim
|
2399 - Campo Minado
Descrição do Problema: 2399 - Campo Minado
2399 - Campo Minado |
---|
| n = leia_inteiro
a = 0::leia_inteiros(n) + [0]
para i de 2 até a.tamanho - 1 faça
soma = a[i-1] + a[i] + a[i+1]
escreva soma
fim
|