Entrada e saída rápida

Página Inicial / ∣V∣+∣E∣ (Gráfico) / Entrada e saída rápida
Para muitos problemas, é necessário fazer muita entrada e saída. Se o criador do problema foi bem estrito com o tempo, qualquer solução que não usa entrada e saída rápida simplesmente vai dar TLE, então para sempre ter certeza que o seu código vai passar, é recomendado sempre utilizar pelo menos o básico. Além disso, alguns sites tem ranking por tempo de execução, e um grande diferencial é o tempo que leva para fazer entrada e saída, que drasticamente pode reduzir o seu tempo pela metade e te colocar numa posição bem melhor.

Mas o que é o básico?

ios_base::sync_with_stdio(0);
cin.tie(0);
Isso para uso apenas com cin e cout. Isso porque: Ah, e a respeito de endl: Não use endl, exceto em problemas interativos. Isso porque cada endl também dá um flush e obriga que a saída seja, naquele momento, escrita. Isso prejudica muito o tempo do seu programa, porque é muito mais vantajoso bufferizar e depois escrever tudo de uma vez só.

Para ganhar ainda mais velocidade, é possível fazer sua própria função de leitura de inteiros, strings, etc. Porém, na maioria dos casos isso não é necessário, é só otimização prematura.

Fontes: