hack怎么过?
查看原帖
hack怎么过?
948216
ZackofZHOU楼主2024/8/23 10:11

代码:

#include<iostream>
#include<deque>
using namespace std;
int n,k,p = 1,a[1000010];
deque <int> d;
int main()
{
	cin >> n >> k;
	for(int i = 1;i <= n;i++)
		cin >> a[i];
	for(int i = 1;i <= n;i++)
	{
	    while(!d.empty() && d.back() >= a[i])
	        d.pop_back();
	    d.push_back(a[i]);
	    if(i - p >= k)
	    {
	        if(a[p] == d.front())
	            d.pop_front();
	        p++;
	    }
	    if(i >= k)
	        cout << d.front() << ' ';
	}
	cout << '\n';
	p = 1;
	d.clear();
	for(int i = 1;i <= n;i++)
	{
	    while(!d.empty() && d.back() <= a[i])
	        d.pop_back();
	    d.push_back(a[i]);
	    if(i - p >= k)
	    {
	        if(a[p] == d.front())
	            d.pop_front();
	        p++;
	    }
	    if(i >= k)
	        cout << d.front() << ' ';
	}
	return 0;
}
2024/8/23 10:11
加载中...