Time-1 - Coconuts of Palm Tree

2 secs 1024 MB
matcharate12's icon matcharate12

この問題は 3重ループ文 を問います。

問題文は、相異なる 33 つの整数 i,j,k (1i<j<kN)i,j,k\ (1\le i\lt j\lt k\le N) を用いて次のように表せます。

  • Ai+Aj+AkA_i+A_j+A_kMM の倍数であるような (i,j,k)(i,j,k) の選び方はいくつ存在するか?

よって、これは3重ループを用いて実装することができます。したがって計算量は O(N3)O(N^3) で実装が可能です。
またそれぞれ AimodMA_i \bmod M ※を計算することで O(N2logN)O(N^2\log_{}N) で実装することもできます。以下が解答例です(C++,Python)。

AmodBA\bmod BAABB で割った余りを表します

  • C++
  • Python