Olivander
Submit solution
Points:
100 (partial)
Time limit:
1.0s
Python 2
4.0s
Memory limit:
500M
Python 2
128M
Authors:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB
Harry Potter ha roto su varita magica en una batalla contra Lord Voldemort. Ha decidido comprar una nueva en la tienda de Olivander. En la tienda hay N varitas y N cajas. Las varitas tienen largo , y las cajas . Harry quiere saber si se pueden poner las varitas en cajas de tal manera que cada caja contenga exactamente una varita. Ayudalo para resolver esta dificil tarea.
Entrada
Una linea con un entero
Una linea con enteros positivos
Una linea con enteros positivos
Salida
Una linea, si se pueden guardar las varitas DA, en caso contrario, NE
Ejemplo de entrada
1
1
2
Ejemplo de salida
DA
Comments
PEPE
Me da WA en la mitad de los casos, lo que hice fué almacenar los elementos de las cajas y las varitas en dos arreglos y luego los ordené en orden ascendente para luego ir comparando de 1 en 1 los elementos, para que cuando un elemento de las varitas sea mayor al de las cajas, imprimir NE en pantalla. Lo que pasa (y lo comprobé imprimiendo los dos arreglos en pantalla) es que a veces los arreglos no se terminan ordenando bien y a veces sí. En fin alguien que programe en C++ que me diga que tengo mal please :)
hay una funcion para ordenar , simplemente pones
sort (cajas , cajas + n) ;
sort (varitas , varitas + n) ;
Tambien puedes usar vectores en vez de arreglos normales asi:
//declaracion
vector <int> cajas (n) ;
vector <int> varitas (n) ;
//ordenamiento
sort (cajas.begin () , cajas.end ()) ;
sort (varitas.begin () , varitas.end ()) ;
Los vectores se pueden usar como arreglos normales , pero tienen mas funciones. Tienes que poner arriba include "vector"
include "algorithm"
o puedes usar solamente
include "bits/stdc++.h"
Ño gracia
Alguien que me ayude porfa, este es mi code:
N = int(input()) lv = list(map(int, input().split())) lc = list(map(int, input().split()))
if sum(lv)<= sum(lc): print("DA") else: print("NE")
Alguien puede decirme pq falla mi solución??
si no se pueden guardar las varitas se imprime "NE", no "NA"
Hola, hice este problema comprobando que la longitud de las varitas sean menores o iguales a la longitud de las cajas, pero me dan mal algunos juegos de datos. Alguien me puede ayudar?
Compadre estuve revisando tus submissions a este problema y en una imprimes varias veces en una línea diferentes valores DE y NA y en la otra imprimes una serie d números
Gracias, ya corregí eso pero igual solo me acepta 1 juego de datos
Ya miré tu code. El problema radica en q pones la instrucción cout<<DA dentro del ciclo for y por eso se ejecuta varias veces. T sugiero q uses un booleano y solo al final de la ejecución del programa imprimas algo, en dependencia del valor q ese booleano tomó. No sé si m explico
O mejor usa un break
Gracias otra vez, ya lo arreglé, pero en cada juego de datos hay al menos una varita que no entra en su caja, por eso va a salir siempre NE.
La razón por la q t da WA en la mitad d los casos de prueba es un errorcillo en tu lógica, bastante parecido al q hemos cometido la mayor parte d los q le hemos tirado a este ejercicio
Decirte cual sería spoiler
siempre piensa primero q el q está mal eres tú, antes d pensar q está mal el problema ;)
Ya hice este ejercicio, pero en la mitad de los casos dice "Salida enganchada: NE" <- ¿Alguien sabe por qué?
Eso es una mala traducción, lo que quiere decir es que te está mostrando debajo la salida truncada, es decir, un fragmento de la salida de tu programa. Idioma inglés recomendado para el sitio...
eso es WA (Wrong Answer).