求助,85分,WA On #9 #11 #15
查看原帖
求助,85分,WA On #9 #11 #15
579648
peeh_moorhsum楼主2022/8/24 13:06
#include <stdio.h>
//#pragma GCC optimize (2)
const int N=1e5;
int a[N+5], t[N+5];

void in (int &x){
	char c=getchar (),f=1;
	while ((c<'0'||c>'9') && c!='-') c=getchar ();
	if (c=='-') f=-1,c=getchar ();
	for(x=0; c>='0' && c<='9'; c=getchar ()) x=x*10+c-'0';
	x*=f;
}

void _out (int x){
	if (x){
		_out (x/10);
		putchar ('0'+x%10);
	}
}

void out (int x){
	if (x==0){
		putchar ('0');
		return ;
	}
	else if (x>0) _out (x);
	else putchar ('-'), _out (x*-1);
}

void work (){
	int n, w;
	in (n), in (w);
	for (int i=1; i<=n; i++) in (a[i]);
	int mx=0;
	for (int i=1; i<=n; i++){
		t[a[i]]++, mx=(mx>a[i]) ? mx:a[i];
		double k=((double) w)/100*i;
		if (k<1) k=1;
//		printf ("%d\n", mx);
		int s=(int) k;
		int sum=0;
//		printf ("%d\n", s);
		for (int i=mx; i>=0; i--){
			if (t[i]) sum+=t[i];
			if (sum>=s){
				printf ("%d ", i);
				break;
			}
		}
	}
}

int main (){
// 	freopen ("P7072.in", "r", stdin);
// 	freopen ("P7072.out", "w", stdout);
	work ();
	return 0;
}
2022/8/24 13:06
加载中...