Given a directed graph G and an edge weight function w: E(G) → ℝ+, the maximum directed cut problem (MAX DICUT) is that of finding a directed cut δ(X) with maximum total weight. In this paper we consider a version of MAX DICUT — MAX DICUT with given sizes of parts or MAX DICUT WITH GSP — whose instance is that of MAX DICUT plus a positive integer p, and it is required to find a directed cut δ(X) having maximum weight over all cuts δ(X) with |X| = p. It is known that by using semidefinite programming rounding techniques MAX DICUT can be well approximated — the best approximation with a factor of 0.859 is due to Feige and Goemans. Unfortunately, no similar approach is known to be applicable to max DICUT WITH GSP. This paper presents an 0.5- approximation algorithm for solving the problem. The algorithm is based on exploiting structural properties of basic solutions to a linear relaxation in combination with the pipage rounding technique developed in some earlier papers by two of the authors.