求大佬看看,第三个样例点自己测试输出正确,但是wa
查看原帖
求大佬看看,第三个样例点自己测试输出正确,但是wa
765613
drking楼主2023/3/19 01:09
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct inf {
	int t;//时间
	int w;//罚款
} inf;

int cmp(const void *a, const void *b) {
	return (*(inf*)b). w - (*(inf*)a).w;
}

int main() {
	long long int m;
	int n, i, j, win[502] = {1};
	inf a[502];
	scanf("%lld", &m);
	scanf("%d", &n);
	for (i = 1; i <= n; i++) {
		scanf("%d", &a[i].t);
	}
	for (i = 1; i <= n; i++) {
		scanf("%d", &a[i].w);
	}
	qsort(a, n + 1, sizeof(a[0]), cmp); //根据罚款排序

	for (i = 1; i <= n; i++) {
		if (win[a[i].t] == 0) {
			win[a[i].t] = 1;
			a[i].w = 0;
		} else {
			for (j = 1; j <= a[i].t - 1; j++) {
				if (win[a[i].t - j] == 0) {
					win[a[i].t - j] = 1;
					a[i].w = 0;
					break;
				} else {
					continue;
				}
			}
		}
		m = m - a[i].w;
	}
	printf("%lld\n", m);

	return 0;
}
2023/3/19 01:09
加载中...