题目背景
宇宙总统竞选
题目描述
地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。
输入格式
president.in
第一行为一个整数n,代表竞选总统的人数。
接下来有n行,分别为第一个候选人到第n个候选人的票数。
输出格式
president.out
共两行,第一行是一个整数m,为当上总统的人的号数。
第二行是当上总统的人的选票。
输入输出样例
输入 #1复制
5 98765 12365 87954 1022356 985678
输出 #1复制
4 1022356
说明/提示
票数可能会很大,可能会到100位数字。
n<=20
#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#define ios1 ios::sync_with_stdio(false)
#define ios2 cin.tie(0);cout.tie(0)
const int N=30;
int n;
string s;
struct node {
string num;
int pos;
}person[N];
bool cmp(node s1,node s2){
if(s1.num.size()==s2.num.size()) return s1.num>s2.num;
return s1.num.size()>s2.num.size();
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
person[i].num=s;
person[i].pos=i;
}
sort(person+1,person+n+1,cmp);
cout<<person[1].pos<<endl;
cout<<person[1].num;
ios1;
ios2;
return 0;
}