Q:

Could someone tell me any different way to make this code faster?

The code runs correctly and it does what it is supposed to do, but I was told I could make it faster by using Boolean expressions instead but would not really know where to insert them here. The problem is: 

Given a sequence of n points with their coordinates, write a program remote, which calculates the value of the smallest remoteness of a point, which is outside the square. A point is outside the square, if it is neither inner to the square, nor belongs to square contour. If there are no points outside the square, your program has to output 0. 
Constraints:
  1 ≤ n ≤ 10000 and 1 ≤ a ≤ 1000 ;
  Example: 
Input: 
  5 4
  1 2
  4 6
  -3 2
  -2 2
  4 -1
  Output: 5  

Could someone suggest me any technique to make the code more efficient?
int remote(int x, int y) {
    int z = abs(x) + abs(y);
    return z;
}   

int main() {

    int n, a;
    int x;
    int y;

    cin >> n >> a;

    int z=20001;
    for (int i = 1; i <= n; i++) {
        cin >> x >> y;
        if (x > a / 2 || y > a / 2) {
            if (z > remote(x, y)) {
                z = remote(x, y);
            }               
        }
    }    
    cout << z <<endl;

    return 0;

}

A:

For one, you are calling remote twice (in some cases) needlessly. 
Consider using this:
#include <algorithm>

z = std::max(z, remote(x, y));

This will also shorten and clarify the code.

Also, it's possible the divisions are slow. Try (after profiling!) replacing
x > a / 2 || y > a / 2

by
(x << 1) > a || (y << 1) > a

Note @Donnie & others claims in the comments that compilers will do the latter optimization, and they are probably correct.

