for (int m=0; m<(1<<n); ++m) for (int s=m; s; s=(s-1)&m) ... использование s и m ...
500 ms 32 Mb Правила оформления программ и список ошибок при автоматической проверке задач