2417: 【例】【普及-】【P1781】宇宙总统
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:42
解决:15
题目描述
地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。
输入
第一行为一个整数 ,代表竞选总统的人数。
接下来有 行,分别为第一个候选人到第 个候选人的票数。
输出
共两行,第一行是一个整数 ,为当上总统的人的号数。
第二行是当上总统的人的选票。
样例输入 复制
5
98765
12365
87954
1022356
985678
样例输出 复制
4
1022356
提示
票数可能会很大,可能会到 位数字。
#include<bits/stdc++.h>
using namespace std;
int const MAXN=30;
struct node {
string x; //票数
int num; //候选人编号
}s[MAXN];
bool cmp(node a,node b) {
if (a.x.length()!=b.x.length())
return a.x.length() >b.x.length(); //a比b位数多时a在前面
return a.x>b.x; //位数相同,但a字典序排列比b大
}
int n;
int main(){
cin>>n;
for (int i=0;i<n;i++) {
cin>>s[i].x;
s[i].num=i+1;
}
sort(s,s+n,cmp);
cout<<s[0].num<<endl<<s[0].x<<endl;
return 0;
}