Find all integer $c\in\{0,1,...,2016\}$ such that the number of $f:\mathbb{Z}\rightarrow\{0,1,...,2016\}$ which satisfy the following condition is minimal:\\
(1) $f$ has periodic $2017$\\
(2) $f(f(x)+f(y)+1)-f(f(x)+f(y))\equiv c\pmod{2017}$\\

Proposed by William Chao
1. **Initial Setup and Definitions:**
   - We are given a function \( f: \mathbb{Z} \rightarrow \{0, 1, \ldots, 2016\} \) with periodicity 2017.
   - The functional equation (FE) is \( f(f(x) + f(y) + 1) - f(f(x) + f(y)) \equiv c \pmod{2017} \).
   - We need to find the values of \( c \) such that the number of such functions \( f \) is minimal.

2. **Claim for \( c = 1 \) and \( c = 2016 \):**
   - For \( c = 1 \), we start with the FE: \( f(f(x) + f(y) + 1) = f(f(x) + f(y)) + 1 \).
   - Define \( g(x) = f(x) + f(0) \). Then the FE becomes \( g(g(x) + 1) = g(g(x)) + 1 \).
   - This implies that for any \( y \in \text{Im}(g) \), \( g(y + 1) = g(y) + 1 \).

3. **Graph Interpretation:**
   - Consider a graph \( G \) with vertices \( 0, 1, \ldots, 2016 \) and draw an arrow \( z \to z + 1 \) if \( z \in \text{Im}(g) \).
   - Let \( a, a+1, \ldots, b \) be a maximal consecutive subsequence in \( \text{Im}(g) \).
   - Since \( g(a), g(a+1), \ldots, g(b) \in \text{Im}(g) \) and \( g(a+1) = g(a) + 1 \), \( g(a), \ldots, g(b+1) \) is also a path in \( G \), contradicting maximality unless \( G \) has no paths.

4. **Cycle in Graph \( G \):**
   - Since \( G \) is non-empty, it must have a cycle. If \( k \) is the length of the cycle, then \( g(a + k) = g(a) \) implies \( k = 2017 \).
   - Therefore, \( G \) is a cycle \( C_{2017} \), meaning \( g \) is surjective and \( \text{Im}(g) = \{0, 1, \ldots, 2016\} \).
   - Thus, \( g(y + 1) = g(y) + 1 \) for all \( y \), implying \( g(y) = y + C \) for some constant \( C \).

5. **Conclusion for \( c = 1 \) and \( c = 2016 \):**
   - For \( c = 1 \), \( f(z) = z + C \).
   - For \( c = 2016 \), the argument is similar, leading to \( f(z) = -z + C \).

6. **Claim for \( c = 1008 \) and \( c = 1009 \):**
   - For \( c = 1009 \), using a similar setup, consider \( g(2z) \). The FE becomes \( g(g(x) + 1009) = g(g(x)) + 1009 \).
   - This implies \( g(y + 1) = g(y) + 1 \) for all \( y \), leading to \( g(y) = y + C \).

7. **Conclusion for \( c = 1008 \) and \( c = 1009 \):**
   - For \( c = 1008 \), \( f(z) = 1008z + C \).
   - For \( c = 1009 \), \( f(z) = 1009z + C \).

8. **Eliminating Other Values of \( c \):**
   - For \( c \notin \{1, 2016, 1008, 1009\} \), consider the FE \( f(z + 1) = f(z) + c \).
   - If \( c = 0 \), take \( \text{Im}(f) = \{0, 1\} \) and \( f(0) = f(1) = 1 \), all others 0.
   - For other \( c \), take \( \text{Im}(f) = \{0, c\} \), leading to \( f(1) = f(c + 1) = f(2c + 1) = c \) and \( f(0) = f(c) = f(2c) = 0 \).

9. **Conclusion for Other Values of \( c \):**
   - There are \( 2^{2011} > 2017 \) options for other values of \( f \), implying more than 2017 functions for \( c \notin \{1, 2016, 1008, 1009\} \).

The final answer is \( \boxed{ c = 1, 2016, 1008, 1009 } \).