题解:P11551 [ROIR 2016 Day 1] 奖品

GFyyx

2025-01-10 14:35:37

Solution

解题思路

贪心,没什么好说。

贪心地想,Petya 肯定选当前合法的最大值。主办方会将最大值给拿走,变为非法。

显然地,这题就是求次大值,具体实现可以看代码,有注释说明。

满分代码


#include <stdio.h>
int a[114514],max1,max2;
main(){
    int n;scanf("%d",&n);
    for(register int i=1; i<=n; i++){
        scanf("%d",&a[i]);
        if(a[i]>=max1) max2=max1,max1=a[i];//大于最大值 
        else if(a[i]>max2) max2=a[i];//介于最大和次大值之间 
        if(i-1) printf("%d ",max2);//输出答案 
    }
    return 0;
}