第一个错的样本点输入输出都一样(佬可以高抬贵手运行一下),对拍也对拍过了,就是过不了第一第二个样本点
orzorzorzorzorz麻烦各位佬看一下%%%%%%%%%%%%
in:5 98765 12365 87954 1022356 985678
out: 4 1022356
#include <bits/stdc++.h>
using namespace std;
struct tt
{
string ss;
int id;
} s[22];
int cmp(tt s1, tt s2)
{
if (s1.ss.length() > s2.ss.length())
{
// cout << "length>0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl;
return 1;
}
else if (s1.ss.length() == s2.ss.length())
{
if (s1.ss.compare(s2.ss) > 0)
{
// cout << "compare>0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl;
return 1;
}
else
{
// cout << "compare<0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl;
return 0;
}
}
}
int main()
{
string ss1 = "232", ss2 = "231";
// cout << ss1.compare(ss2) << endl;
int n;
cin >> n;
for (int a1 = 0; a1 < n; a1++)
{
cin >> s[a1].ss;
s[a1].id = a1 + 1;
}
sort(s, s + n, cmp);
// for (int a1 = 0; a1 < n; a1++)
// {
// // cout << s[a1].ss << " ";
// cout << s[a1].id;
// cout << endl;
// }
cout << s[0].id << endl
<< s[0].ss;
return 0;
}