This can be solved with a little simple iteration:
float minScore = float.MaxValue;
A minItem = null;
foreach(A item in items)
{
if(item.Score < minScore)
minItem = item;
}
return minItem;
It's not a nice LINQ query, but it does avoid a sorting operation and only iterates the list once, as per the question's requirements.