This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 5e5 + 1;
int d[MAX_N], per[MAX_N];
int higher( int x, int n ) {
return ((int)ceil( (double)n / x )) * x;
}
int lower( int x, int n ) {
return ((int)floor( (double)n / x )) * x;
}
int main() {
int n, q;
cin >> n >> q;
d[0] = 1;
for ( int i = 1; i <= n; i++ )
cin >> d[i];
int maxx = 1, pos = 0;
per[0] = 1;
for ( int i = 1; i <= n; i++ ) {
per[i] = higher( per[pos], d[i] );
if ( d[i] > maxx ) {
maxx = d[i];
pos = i;
}
}
while ( q-- ) {
int t, l, r, ans = 0;
cin >> t >> l >> r;
for ( int i = 0; i <= n; i++ ) {
int x = lower( per[i], t ) - i;
if ( l <= x && x <= r )
ans++;
}
cout << ans << "\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |