百度2017春招编程题(一) 买帽子C++

度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 
输入描述:
首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)


输出描述:
如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1

输入例子1:
10
10 10 10 10 20 20 30 30 40 40

输出例子1:

30

#include<iostream>

using namespace std;

int main(){
	int n;
	cin>>n;
	int pr[50];
	int i,j,k;
	for(i=0;i<n;i++){
		cin>>pr[i];
	}
	// n=5;i=5;
	
	int temp[3] = {1001,1001,1001};
//	cout<<temp[0]<<" "<<temp[1]<<" "<<temp[2]<<endl;

	for(i=0;i<n;i++){
		while(pr[i]==temp[0]||pr[i]==temp[1]||pr[i]==temp[2])
			i++;
		for(k=0;k<3;k++){
			if(temp[k] > pr[i]){
				temp[k] = pr[i];
				
//				cout<<temp[0]<<" "<<temp[1]<<" "<<temp[2]<<endl;
				break;
			
			}
//				cout<<temp[0]<<" "<<temp[1]<<" "<<temp[2]<<endl;
		}
		
	}

	int max=temp[0];
	for(j=1;j<3;j++){
		if(temp[j] > max)
			max = temp[j];
	}

    if(temp[0]==1001||temp[1]==1001||temp[2]==1001)
		max=-1;
    
	cout<<max;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值