Ice Cream Parlor

  • + 0 comments
    public static List<int> IcecreamParlor(int m, int[] arr)
    {
        var pairs = arr.Select((x, i) => (x, i)).OrderBy(p => p.x).ToArray();
        arr = pairs.Select(p => p.x).ToArray();
        var idxs = pairs.Select(p => p.i+1).ToArray();
        var i=0;
        var j=arr.Length-1;
        while(true){
            var v = arr[i] + arr[j];
            if(v == m) return new List<int>{idxs[i], idxs[j]}.Order().ToList();
            if(v > m) j--;
            if(v < m) i++;
        }
    }