#770. 阅读程序写结果

阅读程序写结果

点击此处下载样例文件

题目描述

#include<bits/stdc++.h>
using namespace std;
const int INF=(1ll<<31)-1;
const int N=1e5+5;
int a[N];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	while(m--)
	{
		int x,y;
		cin>>x>>y;
		for(int i=1;i<=n;i++)
			if(a[i]==x)
				a[i]=y;
		int ans=INF;
		for(int i=1;i<=n;i++)
			for(int j=i+1;j<=n;j++)
				if(a[i]==a[j])
					ans=min(ans,j-i);

		cout<<ans<<'\n';
	}
	return 0; 
}

输入格式

第一行:两个整数 n, m;

第二行:n 个整数,依次表示 a1,a2,,ana_1, a_2, …, a_n;

接下来 m 行,每行两个整数 x,yx, y.

输出格式

输出程序运行结果。

样例输入

5 3
1 2 3 4 5
1 1
1 3
2 3

样例输出

2147483647
2
1

数据范围

1n,m105,ai<2311 ≤ n, m ≤ 10^5, |a_i| < 2^{31}