A

噢莫加纳加加加  •  3天前


#include <bits/stdc++.h>
using namespace std;
long long n, c;
const int N = 1e5 + 10;
long long a[N];
bool vis[N];

int main() {
	long long n, c, i, j;
	cin >> n >> c;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	long long l = 1, r = c, k = n, minn, id;
	while (k != 0) {
		minn = 999999999;
		for ( j = l; j <= r; j++) {
			if (minn > a[j] && vis[j] == 0) {
				minn = a[j];
				id = j;
			}
		}
		if (k == 0) {
			cout << minn << endl;
		} else {
			cout << minn << " ";
		}
		long long z = 0;
		vis[id] = 1;
		for ( j = id - 1; j >= 1; j--) {
			if (vis[j] == 0) {
				l = j;
				z = 1;
				break;
			}
		}
		if (r < n) {
			r++;
		}
		if (z == 0) {
			l++;
		}
		k--;
	}

	return 0;
}

评论:

请先登录,才能进行评论