0分求助
  • 板块P1781 宇宙总统
  • 楼主hzx198
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/4 23:28
  • 上次更新2024/1/5 16:26:49
查看原帖
0分求助
792364
hzx198楼主2024/1/4 23:28
#include <bits/stdc++.h>
#define MAX_DIG 109
#define mst(v) memset(&v,0,sizeof(v))
using namespace std;
struct N {int v[MAX_DIG],d;};
int cmp(N a, N b) {
  if (a.d>b.d) return 1;
  else if (a.d<b.d) return -1;
  for (int i=a.d-1;i>=0;i--)
    if (a.v[i]>b.v[i]) return 1;
    else if (a.v[i]<b.v[i]) return -1;
  return 0;
}
N read(void) {
  N a;
  mst(a);
  string s;
  getline(cin,s);
  a.d=s.size();
  for (int i=0;i<a.d;i++) a.v[a.d-i-1]=s[i]-'0';
  return a;
}
void write(N a) {
  if (a.d==0) putchar('0');
  else for (int i=a.d-1;i>=0;i--) putchar(a.v[i]+'0');
}
int n,i,mi;
N a[29];
int main(void) {
  cin>>n;
  getchar();
  for (i=1;i<=n;i++) a[i]=read();
  mi=1;
  for (i=2;i<=n;i++) if (cmp(a[i],a[mi])>0) mi=i;
  printf("%d\n",mi);
  write(a[mi]);
  return 0;
}
2024/1/4 23:28
加载中...