求助 WA on 7 (马蜂良好
查看原帖
求助 WA on 7 (马蜂良好
989007
huangzhixia楼主2024/6/30 18:28

rt.

求调代码或指出错误。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
int n, w, a[101], p[101];

bool cmp(const int &x, const int &y) {
	return x > y;
}

int main(){
	scanf("%d%d", &n, &w);
	for (int i = 1; i <= n; i++)
		scanf("%d", &a[i]);
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i++) {
		if (!(a[i] % 2)) {
			p[i] += a[i] / 2;
			w -= a[i] / 2;
		} else {
			p[i] += a[i] / 2 + 1;
			w -= (a[i] / 2 + 1);
		}
		if (w < 0) {
			puts("-1");
			return 0;
		}
	} 
	for (; w; )
		for (int i = 1; i <= n && w; i++)
			if (p[i] < a[i]) {
				p[i]++;     
				w--;
			}
	for (int i = 1; i < n; i++)
		if (p[i] < p[i + 1]) {
			puts("-1");
			return 0;
		}		
	for (int i = 1; i <= n; i++)
		printf("%d ", p[i]);
}
2024/6/30 18:28
加载中...