疏通下水道网站怎么做,wordpress 恢复初始化,电子商务网站开发需求分析,网站开发网站运营怎么做题目大意#xff1a;给出一个有n个数的序列#xff0c;找出最短的涵盖1~k之间所有整数的连续区间。 题目分析#xff1a;扫描一遍序列#xff0c;维护head、tail两个位置。要注意#xff0c;最短的区间上两端的数一定[1,k]上。 代码如下#xff1a; # includeiostrea… 题目大意给出一个有n个数的序列找出最短的涵盖1~k之间所有整数的连续区间。 题目分析扫描一遍序列维护head、tail两个位置。要注意最短的区间上两端的数一定[1,k]上。 代码如下 # includeiostream
# includecstdio
# includecstring
# includealgorithm
using namespace std;const int INF130;
int n,m,k,a[1000005],mark[1005];bool ok()
{for(int i1;ik;i)if(!mark[i])return false;return true;
}int solve()
{if(k3)return k;memset(mark,0,sizeof(mark));int head0,tail,ansINF;a[0]1,a[1]2,a[2]3;mark[1]mark[2]mark[3]1;for(tail3;tailn;tail){a[tail](a[tail-1]a[tail-2]a[tail-3])%m1;mark[a[tail]];while(headtail(a[head]1||a[head]k||mark[a[head]]1))--mark[a[head]];if(tail-head1ktail-head1ansok())anstail-head1;}return ans;
}int main()
{int T,cas0;scanf(%d,T);while(T--){scanf(%d%d%d,n,m,k);printf(Case %d: ,cas);if(nk||km){printf(sequence nai\n);continue;}int anssolve();if(ansINF)printf(sequence nai\n);elseprintf(%d\n,ans);}return 0;
}转载于:https://www.cnblogs.com/20143605--pcx/p/4878258.html