XNA安装指导

XNA安装指导

liulingbo918:

开始的时候我也是开了一半的数字,但排序时用了基数排序,结果超时,这是一定的。然后看了师兄的思路,我直接用优先队列来做,代码如下,但第一个案例就错了。我想不明白师兄的 printf( "%.1f\n", N % 2 == 1 ? (float)data[ 0 ]: ( (float)data[ 0 ] + max( data[ 1 ], data[ 2 ] ) ) / 2 ), 为什么要用到data[2], 偶数的时候不是只用到data[0]和data[1]吗?恳请指教!

#include

#include

#include

#include

using namespace std;

int main(){

int N, i, j, size, num;

float result = 0.0;

priority_queueQ;

scanf("%d", &N);

size = N / 2 + 1;

for(i = 0; i < size; i++){

scanf("%d", &num);

Q.push(num);

}

while(size++ < N){

scanf("%d", &num);

if(num < Q.top()){

Q.pop();

Q.push(num);

}

}

if(N % 2 == 0){

result += Q.top();

Q.pop();

result += Q.top();

result = (float)result / 2;

}

else

result = (float)Q.top();

printf("%.1f\n", result);

system("pause");

return 0;

}

相关推荐

孩子做事总是慢吞吞的,怎么办
谁知道365bet网址

孩子做事总是慢吞吞的,怎么办

📅 07-19 👁️ 2323
探究doki电话手表的优势与特点(让您与孩子互动更便捷、更安心)
弹弹堂手游宠物巨炮龙与飞天龙哪个好?
谁知道365bet网址

弹弹堂手游宠物巨炮龙与飞天龙哪个好?

📅 07-11 👁️ 342
公众号排版全攻略:打造精美内容,提升阅读体验与吸引力