#include #include using std::cin; using std::cout; using std::endl; const int N = 500005, P = 505; int n, m, l, r, p, a[N]; long long sum[N]; int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> a[i]; } while (m--) { long long ans = 0x3f3f3f3f; cin >> l >> r >> p; if (r - l >= p) { cout << 0 << endl; continue; } std::set s; s.insert(0); sum[l - 1] = 0; for (int i = l; i <= r; i++) { sum[i] = (sum[i - 1] + a[i]) % p; ans = std::min(ans, sum[i] - *(--s.upper_bound(sum[i]))); s.insert(sum[i]); } cout << ans << endl; } return 0; }