When I write long long sum = accumulate(a.begin(), a.end(), 0); or long long sum = accumulate(a.begin(), a.end(), 0ll); both give me the same result then why use 0ll instead of only 0 (where a is std:: vector<int> a(n))?
My full code is here