MATLAB: Indexing matrix with index pairs without using linear indexing

indexindexingsparse

I have a set of n row indices [r1 r2 … rn], and n column indices [c1 c2 … cn], and I would like to get the elements corresponding to indices (r1,c1), (r2,c2) and so on. The normal way of doing this is using linear indexing A(sub2ind(size(A),r,c)). However, I am dealing with sparse matrices of ridiculous dimensions (e.g.: [2^40, 2^10] ), meaning that I can no longer use linear indexing.
A naive alternative would be with a loop:
A = sprand(2^40,2^10, 1e-10);
r = [1 4 345 922139 2^40]';
c = [2 89 100 120 1024]';
out = zeros(length(r),1);
for i=1:length(r)
out(i) = A(r(i), c(i));
end
Are there more efficient ways of doing this?