This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//Smaug never desolated!!
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const int MAXN = (int)5e5 + 7;
const int infint = (int)1e9 + 3;
const int MOD = (int)1e9 + 7;
const ll inf = (ll)1e18;
ll a[MAXN], n, tme[MAXN], Q;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin >> n >> Q;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	tme[0] = 1;
	for (int i = 1; i <= n; i++)
	{
		ll tmp = (a[i] + tme[i - 1] - 1) / tme[i - 1];
		tme[i] = tme[i - 1] * tmp;
		if(tme[i] >= infint)	
			break;
	}
	for (int i = 0; i < Q; i++)
	{
		ll L, R, T;
		cin >> T >> L >> R;
		ll ans = 0;
		for (int j = 0; j <= n; j++)
		{
			if(tme[j] >= infint)
				break;
			ll cur = -j;
			cur += (T / tme[j]) * tme[j];
			ans += (L <= cur && cur <= R);
		}
		cout << ans << "\n";
	}
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |