第四届“图灵杯”NEUQ-ACM程序设计竞赛(团队赛)-网络同步赛B(排序)

来源:互联网 发布:亿级别数据库 编辑:程序博客网 时间:2024/05/01 18:08

问题 B: 一个简单的问题
时间限制: 1 Sec 内存限制: 64 MB
提交: 619 解决: 434
[提交][状态][讨论版]
题目描述
实验班最近在准备购置新的书籍。现在统计出了一份有十本书的书单,但是由于预算有限,必须删掉一本书。大家讨论决定把价格第三高的书删掉,请你找出这本书。

输入
第一行是一个整数T(1<=T<=1000),表示有T组数据。接下来的T行,每行有十一个整数,第一个整数表示这是第几组输入数据,接下来的十个整数表示你要处理的十本书的价格。每组数据用空格分隔,书的价格不超过1000。

输出
对每组输入数据,输出它的组号和第三高的价格,用空格分隔。

样例输入
3
1 1 2 3 4 5 6 7 8 9 10
2 931 240 986 894 826 640 965 833 136 138
3 940 955 364 188 133 254 501 122 768 408
样例输出
1 8
2 931
3 768
题解:排序+去重(不知道用不用)
代码:

#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<vector>#define ll long longusing namespace std;const int N=2e4+10;const int mod=1e7+9;vector<int>a;int main(){    int t,x,v;    cin>>t;    for(int i=1;i<=t;i++)    {        a.clear();        cin>>x;        for(int j=1;j<=10;j++)        cin>>v,a.push_back(v);        sort(a.begin(),a.end());        reverse(a.begin(),a.end());        a.erase(unique(a.begin(),a.end()),a.end());        cout<<x<<" "<<a[2]<<endl;    }}
阅读全文
0 0