QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#568120#9320. Find the Easiest ProblemhazeAC ✓38ms7536kbC++232.7kb2024-09-16 15:18:312024-09-16 15:18:35

Judging History

你现在查看的是最新测评结果

  • [2024-09-16 15:18:35]
  • 评测
  • 测评结果:AC
  • 用时:38ms
  • 内存:7536kb
  • [2024-09-16 15:18:31]
  • 提交

answer

#include<bits/stdc++.h>

#define IOS ios::sync_with_stdio(false), cin.tie(0);
#define irep(i, l, r) for(int i = l; i <= r; ++ i)
#define drep(i, r, l) for(int i=  r; i >= l; -- i)

typedef long long ll;
typedef double LD;
using i64 = long long;
const int mod = 1000000000 + 7;
const int N = 500000 + 7;

using namespace std;
const double eps = 1e-8;
int sgn(LD x){
    if(x > eps)return 1;
    if(x < -eps)return -1;
    return 0;
}

namespace strhash{
    using u64 = uint64_t;
    mt19937_64  rng(random_device{}());
    const int base = 135 + rng() % 114514;
    constexpr int p1 = 1'0000'0000'7, p2 = 1'0000'0000'9;
    constexpr unsigned  msk32 = ~(0u);
    vector<u64> pw1{1}, pw2{1};

    class StringHash{
        vector<u64>h;
        int n;
    public:
        StringHash(const string &s): n(s.length()){
            int old_size = pw1.size();
            if(old_size < n + 1){
                pw1.resize(2 * n + 1, 1), pw2.resize(n * 2 + 1, 1);
                for(int i = old_size; i <= n * 2; ++ i){
                    pw1[i] = pw1[i - 1] * base % p1;
                    pw2[i] = pw2[i - 1] * base % p2;
                }
            }
            u64 now1 = 0, now2 = 0;
            h.resize(n + 1, 0);
            for(int i = n - 1; i >= 0; -- i){
                now1 = (now1 * base + s[i]) % p1;
                now2 = (now2 * base + s[i]) % p2;
                h[i] = (now1 << 32) | now2;
            }
        }
        u64 get(int l, int r){
            int len = r - l;
            u64 l1 = h[l] >> 32, r1 = h[r] >> 32;
            u64 l2 = h[l] & msk32, r2 = h[r] & msk32;
            u64 res1 = (l1 - r1 * pw1[len] % p1 + p1) % p1;
            u64 res2 = (l2 - r2 * pw2[len] % p2 + p2) % p2;
            return (res1 << 32) | res2;
        }
    };
}

inline ll read() {
    ll s = 0, w = 1;
    char ch = getchar();
    while (!isdigit(ch)) {
        if (ch == '-')w = -1;
        ch = getchar();
    }
    while (isdigit(ch)) {
        s *= 10, s += ch ^ 48;
        ch = getchar();
    }
    return s * w;
}

ll qpow(ll base, ll b){
    ll ans = 1;
    while(b){
        if(b & 1)ans *= base, ans %= mod;
        base *= base, base %= mod, b >>= 1;
    }
    return ans;
}

void solve(){
    int n = read();
    vector<string>s;
    map<string, set<string>>mp;
    irep(i, 1, n){
        string a, b, c;
        cin >> a >> b >> c;
        if(c == "accepted"){
            mp[b].insert(a);
        }
        s.push_back(b);
    }
    cout << *std::max_element(s.begin(), s.end(), [&](string &p, string &q){
        return mp[p].size() != mp[q].size() ? mp[p].size() < mp[q].size() : p > q;
    }) << '\n';
}

int main(){
    int T = 1;
    cin >> T;
    while(T --)solve();
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3832kb

input:

2
5
teamA A accepted
teamB B rejected
teamC A accepted
teamB B accepted
teamD C accepted
4
teamA A rejected
teamB A accepted
teamC B accepted
teamC B accepted

output:

A
A

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 31ms
memory: 3584kb

input:

1000
44
WaiooyIXa O accepted
WaiooyIXa P accepted
ZYYsNWag P accepted
DPIawQg D rejected
IzPdjnM Z rejected
Ra D rejected
kwQyGxLo I rejected
DPIawQg L accepted
kwQyGxLo I accepted
mmWxDuADCB D rejected
PXwVAOgwiz P rejected
ZYYsNWag U accepted
IzPdjnM Z accepted
TgBNO P rejected
kwQyGxLo J accepted...

output:

Z
E
Z
I
B
I
G
H
S
K
J
I
H
R
Z
C
K
O
I
P
A
B
I
A
A
N
A
B
A
O
F
O
R
T
H
G
K
E
S
D
F
D
R
C
U
V
W
P
A
O
J
E
A
B
U
M
C
T
L
G
V
A
Z
N
E
O
Q
F
B
G
J
I
E
M
A
A
E
A
K
J
J
S
E
W
Z
K
F
I
S
P
M
H
G
G
H
W
I
P
T
D
O
A
F
N
C
S
Y
Z
S
G
J
F
Q
F
O
C
B
B
U
C
I
A
E
I
P
K
C
R
X
N
D
N
L
Q
L
I
X
I
H
U
J
Z
D
K
G
F
T
F
B
H
...

result:

ok 1000 lines

Test #3:

score: 0
Accepted
time: 30ms
memory: 3884kb

input:

1000
39
OnYbTl Y accepted
m I accepted
NJN T accepted
lTGE D accepted
mi K accepted
ttcHrVD W accepted
hvGveRIr J rejected
zTwvbWhhQT S rejected
VlAcLAHas E accepted
hM H accepted
wltR G rejected
JJWtQ H accepted
zVwBtj L rejected
ZVqAWCsj I rejected
BwuM B accepted
IpUXa R rejected
OdSv D rejected
...

output:

H
R
M
I
S
J
D
D
A
E
X
S
I
D
D
A
I
N
G
O
F
G
G
B
A
J
E
H
D
I
G
M
O
N
C
G
F
L
V
D
C
S
B
U
H
W
L
J
C
O
B
D
L
N
D
V
K
M
Z
C
T
H
K
U
I
T
R
R
Q
D
B
E
F
A
Q
O
F
M
C
T
M
E
Y
L
K
Q
K
E
A
O
E
J
O
B
N
R
A
E
D
I
A
Q
W
A
M
A
Z
W
K
M
I
J
B
F
L
X
E
R
G
A
I
H
Q
P
T
E
K
L
Q
U
C
A
F
C
A
S
N
G
G
U
L
J
J
A
A
J
A
B
A
E
...

result:

ok 1000 lines

Test #4:

score: 0
Accepted
time: 30ms
memory: 3644kb

input:

1000
15
vCproSIO G rejected
vCproSIO H rejected
ySoEaGKbVz R rejected
ySoEaGKbVz M accepted
vCproSIO Z rejected
ySoEaGKbVz C rejected
YVCmuO H accepted
XHHVYm Y rejected
YVCmuO H rejected
vCproSIO S accepted
ySoEaGKbVz J accepted
YVCmuO P rejected
ySoEaGKbVz E rejected
XHHVYm O accepted
vCproSIO T r...

output:

H
A
F
A
N
J
B
C
H
T
B
L
G
Z
J
H
F
A
B
H
A
O
V
E
B
O
L
B
J
D
I
Y
M
B
Q
B
F
E
T
B
T
C
C
X
E
P
S
M
A
Q
G
D
A
A
H
I
H
E
D
C
A
A
V
C
B
C
D
E
B
F
I
D
C
M
J
P
N
F
V
K
E
K
K
B
B
F
Q
L
B
E
Q
A
R
E
V
C
Y
D
I
C
H
N
H
G
G
M
A
H
E
D
U
N
N
M
R
K
C
B
F
O
H
V
I
A
U
R
Y
D
A
A
A
G
E
N
N
L
C
A
E
C
B
Z
P
W
K
U
D
H
D
V
...

result:

ok 1000 lines

Test #5:

score: 0
Accepted
time: 16ms
memory: 4892kb

input:

1
27400
RPRPRNWL O accepted
UTqhXsDpY R rejected
BabD A rejected
eNM Y rejected
HzIyx S accepted
phWEJVQ N rejected
NbisS Q accepted
cTIsPKm Y rejected
sElDxdT T accepted
BJuQR Q rejected
vfPJs W rejected
eF Z accepted
KyOHzFtXm B accepted
wZlyz T accepted
acDVjN C accepted
M X rejected
sW A accepte...

output:

P

result:

ok single line: 'P'

Test #6:

score: 0
Accepted
time: 13ms
memory: 4220kb

input:

1
29702
Wsfzx N rejected
yZkJOvtRG B rejected
Wsfzx A accepted
yZkJOvtRG C rejected
F G accepted
kyUxIv U accepted
li R rejected
F Q rejected
F Y accepted
F I accepted
yZkJOvtRG J rejected
Wsfzx C rejected
Wsfzx V accepted
yZkJOvtRG L rejected
F X rejected
kyUxIv K accepted
li G accepted
Wsfzx Z acc...

output:

A

result:

ok single line: 'A'

Test #7:

score: 0
Accepted
time: 37ms
memory: 7536kb

input:

1
99584
I Y rejected
I F accepted
I Z rejected
I G accepted
I J rejected
I A rejected
I C rejected
I R rejected
I J accepted
I L rejected
I A rejected
I L accepted
I E rejected
I O accepted
I P accepted
I F rejected
I O accepted
I E accepted
I W accepted
I X rejected
I G accepted
I R rejected
I A re...

output:

A

result:

ok single line: 'A'

Test #8:

score: 0
Accepted
time: 13ms
memory: 4996kb

input:

1
26160
QmDDKxIel A rejected
gmxZDM O rejected
thXodr Z accepted
sznPsL Z accepted
VynmaLp B rejected
MfJQRamC T rejected
W W accepted
WFqnF T accepted
QRys Y accepted
Q H accepted
XUiMDH H accepted
fPcwpz U rejected
oEqrrOAv D rejected
aeW O accepted
M B accepted
JYzynly O accepted
JJqNf G rejected...

output:

E

result:

ok single line: 'E'

Test #9:

score: 0
Accepted
time: 23ms
memory: 3636kb

input:

1000
81
pnnCvDUIH B rejected
rdcJWGYGhk B accepted
VBFvmoYLn B accepted
jdMRRJuIpZ B rejected
WLewtGWJw A rejected
zGAkWsrfG A accepted
MDzQocBGr A rejected
XufUaIWaKT A accepted
JachfkiYL A rejected
zvDlkMINf B rejected
NMfFDEVhG A rejected
axiTyJnXu B accepted
wLkSOTqqV A rejected
amkUqtOyMB B rej...

output:

B
B
B
B
B
A
B
A
A
A
B
B
B
A
A
B
B
A
B
A
A
A
B
A
A
B
B
B
A
A
A
B
B
A
A
B
A
B
B
B
A
B
A
B
B
A
B
A
A
A
A
A
B
A
B
B
A
A
A
A
B
A
B
A
A
A
B
A
A
B
B
A
A
A
B
B
A
A
B
B
B
A
A
A
A
A
A
B
A
B
B
B
B
A
A
B
B
B
B
B
A
B
A
A
B
A
A
B
A
A
B
A
B
A
A
A
B
B
A
A
B
A
B
B
A
B
A
B
A
A
A
B
B
A
A
A
B
B
A
A
A
A
B
A
B
A
A
A
A
A
...

result:

ok 1000 lines

Test #10:

score: 0
Accepted
time: 38ms
memory: 7376kb

input:

1
61839
BGQriOTlZ B rejected
ZIqGhTsmH B rejected
DxIVjUqBr A rejected
afbRvvloO A accepted
LskKGrpIx A rejected
zGnHxzKmA B rejected
bHSaQfYtu A rejected
xPTMHyQgD B rejected
xWrkTqLhH B accepted
tGUVjSpmjI A accepted
bBBZKwbsw A accepted
IAaiNrLMLe B accepted
bglBZRQuk B accepted
DtLTczAkJo A reje...

output:

B

result:

ok single line: 'B'

Extra Test:

score: 0
Extra Test Passed