QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#710255 | #1989. Unique Activities | becaido | AC ✓ | 1368ms | 27168kb | C++20 | 1.8kb | 2024-11-04 19:12:36 | 2024-11-04 19:12:37 |
Judging History
answer
#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#ifdef WAIMAI
#define debug(HEHE...) cout<<"["<<#HEHE<<"] : ",dout(HEHE)
void dout(){cout<<'\n';}
template<typename T,typename...U>
void dout(T t,U...u){cout<<t<<(sizeof...(u)?", ":""),dout(u...);}
#else
#define debug(...) 7122
#endif
#define int long long
#define ll long long
#define Waimai ios::sync_with_stdio(false),cin.tie(0)
#define FOR(x,a,b) for(int x=a,I=b;x<=I;x++)
#define pb emplace_back
#define F first
#define S second
const int INF = 1e9;
const int base = 137;
const int MOD = 1e9 + 7;
const int SIZE = 3e5 + 5;
int n, mn;
string s;
int pro[SIZE], inv[SIZE], pre[SIZE];
int hs (int l, int r) {
int x = (pre[r] - pre[l - 1]) * inv[l - 1] % MOD;
return x < 0 ? x + MOD : x;
}
bool ok (int len) {
unordered_map<int, pair<int, int>> mp;
FOR (i, 1, n - len + 1) {
int val = hs (i, i + len - 1);
mp[val].F = i;
mp[val].S++;
}
mn = INF;
for (auto [x, c] : mp) if (c.S == 1) mn = min (mn, c.F);
return mn != INF;
}
int power (int d, int up) {
int re = 1;
while (up) {
if (up & 1) re = re * d % MOD;
d = d * d % MOD;
up >>= 1;
}
return re;
}
void solve() {
cin >> s;
n = s.size();
s = " " + s;
pro[0] = inv[0] = 1;
inv[1] = power (base, MOD - 2);
FOR (i, 1, n) {
pro[i] = pro[i - 1] * base % MOD;
inv[i] = inv[i - 1] * inv[1] % MOD;
pre[i] = (pre[i - 1] + s[i] * pro[i]) % MOD;
}
int l = 1, r = n;
while (l < r) {
int mid = (l + r) / 2;
if (ok (mid)) r = mid;
else l = mid + 1;
}
ok (l);
cout << s.substr (mn, l) << '\n';
}
int32_t main() {
Waimai;
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 7580kb
input:
ABCABC
output:
CA
result:
ok single line: 'CA'
Test #2:
score: 0
Accepted
time: 1ms
memory: 7908kb
input:
DABCABCD
output:
DA
result:
ok single line: 'DA'
Test #3:
score: 0
Accepted
time: 0ms
memory: 7744kb
input:
BABABBABAABBBAA
output:
AAB
result:
ok single line: 'AAB'
Test #4:
score: 0
Accepted
time: 1ms
memory: 7584kb
input:
BBABBBBBBAABAABABAAB
output:
ABB
result:
ok single line: 'ABB'
Test #5:
score: 0
Accepted
time: 1ms
memory: 7720kb
input:
BBABBBBBBAABAABABAABBABBBABBBAAABABBABAAAAABAABBAB
output:
ABBBB
result:
ok single line: 'ABBBB'
Test #6:
score: 0
Accepted
time: 0ms
memory: 7712kb
input:
DDACEDDCDCEBEBCBAECEEBCAACDEAC
output:
DA
result:
ok single line: 'DA'
Test #7:
score: 0
Accepted
time: 1ms
memory: 7692kb
input:
GGAEIHGEHFJDICECBJEIJCEBBFHIBFGFJDIHHIEAIABGAJHFDFBDJDDCIHBBFIHBEIEBIFIDJIJEHBJGFJDECDCAJEHBBCCABIGI
output:
GG
result:
ok single line: 'GG'
Test #8:
score: 0
Accepted
time: 2ms
memory: 7948kb
input:
GGAEIHGEHFJDICECBJEIJCEBBFHIBFGFJDIHHIEAIABGAJHFDFBDJDDCIHBBFIHBEIEBIFIDJIJEHBJGFJDECDCAJEHBBCCABIGIEIDDJGJEHHFBFJBHJFDDAEBDFCFGABCDAJIJBABDJJBGBFBAJADCBHDAAIGJBEBDBEFGCAIHAJBGDEFHJCDACCFIEBJHCAHGJIEFGECIAHBFAIECDHFJEFJJCEGGBAJDFCDDHGJGAGJGACHBECHIHIJAAHFEHAGDIBCAGGFADAAIJBDBJDEECBHGBAEHBECIFBCEAAAD...
output:
EIH
result:
ok single line: 'EIH'
Test #9:
score: 0
Accepted
time: 10ms
memory: 8016kb
input:
GGAEIHGEHFJDICECBJEIJCEBBFHIBFGFJDIHHIEAIABGAJHFDFBDJDDCIHBBFIHBEIEBIFIDJIJEHBJGFJDECDCAJEHBBCCABIGIEIDDJGJEHHFBFJBHJFDDAEBDFCFGABCDAJIJBABDJJBGBFBAJADCBHDAAIGJBEBDBEFGCAIHAJBGDEFHJCDACCFIEBJHCAHGJIEFGECIAHBFAIECDHFJEFJJCEGGBAJDFCDDHGJGAGJGACHBECHIHIJAAHFEHAGDIBCAGGFADAAIJBDBJDEECBHGBAEHBECIFBCEAAAD...
output:
AEIH
result:
ok single line: 'AEIH'
Test #10:
score: 0
Accepted
time: 18ms
memory: 8808kb
input:
MYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTZMKSHJFGFBTVIPCCVYEEBCWRVMWQIQZHGVSNSIOPVUWZLCKTDPSUKGHAXIDWHLZFKNBDZEWHBSURTVCADUGTSDMCLDBTAGFWDPGXZBVARNTDICHCUJLNFBQOBTDWMGILXPSFWVGYBZVFFKQIDTOVFAPVNSQJULMVIERWAOXCKXBRIEHYPLTJVLSUTEWJMXNUCATGWKFH...
output:
YNB
result:
ok single line: 'YNB'
Test #11:
score: 0
Accepted
time: 225ms
memory: 14764kb
input:
MYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTZMKSHJFGFBTVIPCCVYEEBCWRVMWQIQZHGVSNSIOPVUWZLCKTDPSUKGHAXIDWHLZFKNBDZEWHBSURTVCADUGTSDMCLDBTAGFWDPGXZBVARNTDICHCUJLNFBQOBTDWMGILXPSFWVGYBZVFFKQIDTOVFAPVNSQJULMVIERWAOXCKXBRIEHYPLTJVLSUTEWJMXNUCATGWKFH...
output:
PMZ
result:
ok single line: 'PMZ'
Test #12:
score: 0
Accepted
time: 1368ms
memory: 27168kb
input:
MYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTZMKSHJFGFBTVIPCCVYEEBCWRVMWQIQZHGVSNSIOPVUWZLCKTDPSUKGHAXIDWHLZFKNBDZEWHBSURTVCADUGTSDMCLDBTAGFWDPGXZBVARNTDICHCUJLNFBQOBTDWMGILXPSFWVGYBZVFFKQIDTOVFAPVNSQJULMVIERWAOXCKXBRIEHYPLTJVLSUTEWJMXNUCATGWKFH...
output:
BIQP
result:
ok single line: 'BIQP'
Test #13:
score: 0
Accepted
time: 1163ms
memory: 27160kb
input:
BBABBBBBBAABAABABAABBABBBABBBAAABABBABAAAAABAABBABBABABBABBABAAAABBAAAAAABBAABBBBBABABBAAABAABABBAAAAAAAAAABABAAAAAABAAABABAAABBBAABAABABBBAAAAABBABAABBBBBBAABABABAABBBBABBBAAABAAABBBABBAABABABBAABBBBABAAAABBBAAAAAAAABBAABBAABBABABAABAAAABBBABBBBAABBAAABBBBABAABAABBBABABAABAABBBBBAABBBBABABBABBAABAA...
output:
BBABABAAAAAAABA
result:
ok single line: 'BBABABAAAAAAABA'
Test #14:
score: 0
Accepted
time: 1ms
memory: 7624kb
input:
A
output:
A
result:
ok single line: 'A'
Test #15:
score: 0
Accepted
time: 3ms
memory: 10808kb
input:
MYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYN...
output:
NMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMYNMY...
result:
ok single line: 'NMYNMYNMYNMYNMYNMYNMYNMYNMYNMY...MYNMYNMYNMYNMYNMYNMYNMYNMYNMYNM'
Test #16:
score: 0
Accepted
time: 3ms
memory: 10952kb
input:
MYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTMYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTMYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCT...
output:
TMYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTMYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOCTMYNBIQPMZJPLSGQEJEYDTZIRWZTEJDXCVKPRDLNKTUGRPOQIBZRACXMWZVUATPKHXKWCGSHHZEZROCCKQPDJRJWDRKRGZTRSJOC...
result:
ok single line: 'TMYNBIQPMZJPLSGQEJEYDTZIRWZTEJ...HHZEZROCCKQPDJRJWDRKRGZTRSJOCTM'