Normal etiquette on this site is that the first person to provide a correct answer to the question should have their answer accepted—but, of course, that is just custom, not binding on the person who asked the question. Even a very terse initial correct answer (especially from a relatively new user) usually gets an upvote from me. However, if someone else can provide a more detailed answer, pointing out how it matches the details given in the question, that can also be quite valuable (sometimes even worthy of a bounty).
The answer may become a little trickier with a duplicate, for a couple of different reasons. With a duplicate, there are two possible places where one could post a more detailed answer (the new question and the dupe target; I really like FuzzyBoots' calling it "the 'sun source' of the duplicate chain," in spite of the mixed metaphor). There is a further complication for gold-badge users (and everyone who has answered this meta question so far has a gold badge in the [story-identification] tag). I am adding my thoughts on this, since a closely related issue has recently been discussed on scifi.meta. If I know or locate the answer to a question, and a short answer or comment is posted and identified as correct by the OP before I have posted my own answer, I will sometimes go ahead and post my answer if it is completely or mostly finished; then I close the question as a dupe. My thinking is that I prepared an informative answer in good faithe, before I knew the question was definitely a duplicate, and if my detailed answer is more useful, then it is probably good to have. On the other hand, even if the first correct answer is terse, if someone else posts a detailed answer before I do or if the answers to the dupe target cover all the relevant ground, I will just delete my incipient answer and move on, since posting the answer would not really contribute anything of value.