P1890 gcd区间
1 P1890 gcd区间 - 洛谷
1 题目描述
给定
2 输入格式
第一行两个整数
第二行
以下
3 输出格式
共
4 样例 #1
4.1 样例输入 #1
5 3
4 12 3 6 7
1 3
2 3
5 5
4.2 样例输出 #1
1
3
7
5 提示
, , 。
首先,对于
然后,对于
动态转移方程:
6 代码
#include <bits/stdc++.h>
using namespace std;
int n, m, f[1010][1010], l, r;
int main()
{
ios::sync_with_stdio(0),cin.tie(NULL);
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> f[i][i];
for (int i = n-1; i >=1; i--)
for (int j = i+1; j <= n; j++)
f[i][j] = __gcd(f[i][i], f[i + 1][j]);
while (m--) cin >> l >> r,cout << f[l][r] << '\n';
}