Here's a way to make LaTeX perform the column width calculations. The overall width of the array is set to the argument of the \multicolumn{3}{|c|}{...} directive. The main point is to use a column type that takes a length parameter as an argument instead of the basic l, c, and r column types.

\documentclass{article}
\usepackage{array} % for 'w' column type
\newlength{\mylen}
\settowidth\mylen{$AAAAAAAAAAAAAAA$}
\addtolength\mylen{\dimexpr-4\arraycolsep-2\arrayrulewidth\relax}
\setlength\mylen{\dimexpr\mylen/3\relax}
\newcolumntype{L}{w{l}{\mylen}}
\newcolumntype{C}{w{c}{\mylen}}
\newcolumntype{R}{w{r}{\mylen}}
\begin{document}
[
\begin{array}{|R|C|L|}
\multicolumn{3}{|c|}{AAAAAAAAAAAAAAA}\
\hline
a & b & c\
\dots & \dots & \dots \
a & b & c
\end{array}
]
\end{document}
Addendum: If all you want to achieve is to typeset the a|b|c material more compactly, I suggest you pursue a nested array approach instead.

\documentclass{article}
\begin{document}
\[
\begin{array}{|c|}
AAAAAAAAAAAAA \\
\hline
\begin{array}{r|c|l}
a & b & c\\
a & b & c
\end{array}
\end{array}
\]
\end{document}