QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#16260#1653. CodenamesperspectiveAC ✓1827ms404452kbC++3.4kb2021-12-07 08:50:282022-05-03 23:30:56

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-03 23:30:56]
  • 评测
  • 测评结果:AC
  • 用时:1827ms
  • 内存:404452kb
  • [2021-12-07 08:50:28]
  • 提交

answer

#include<bits/stdc++.h>
#include <ext/pb_ds/priority_queue.hpp>
using namespace std;
#ifdef local
template <typename T>
string to_string(vector<T> v) {
    bool first = true;
    string res = "{";
    for (int i = 0; i < static_cast<int>(v.size()); i++) {
        if (!first) {
            res += ", ";
        }
        first = false;
        res += to_string(v[i]);
    }
    res += "}";
    return res;
}
template <typename T>
string to_string(vector<vector<T>> v){
    bool first = true;
    string res = "{\n";
    for(auto I:v)res+= to_string(I)+"\n";
    res += "}";
    return res;
}
void debug_out() { cerr << endl; }
template<typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
    cerr << " " << to_string(H);
    debug_out(T...);
}
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif
typedef long long ll;
#define f(i, l, r) for(int i=l;i<=r;i++)
#define rf(i, r, l) for(int i=r;i>=l;--i)
#define all(x) x.begin(),x.end()
const int N = 3e5+10;
const int mod = 998244353;
ll power(ll a, ll b) {ll res = 1;while (b) {if (b & 1)res = res * a % mod;a = a * a % mod;b >>= 1;}return res;}



int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#ifdef local
    freopen("../in.txt", "r", stdin);
#endif
    int n;cin>>n;
    vector<string> t(n+1);
    vector<int> S0(1<<25),S1(1<<25),pos(1<<25);
    pos[0]=1;S0[0]=1;S1.back()=1;
    for(int i=1;i<=n;i++){
        cin>>t[i];
        int S=0;
        for(auto I:t[i]){
            if(I<'z')S|=1<<(I-'a');
            S1[S]++;
            S0[((1<<25)-1)^S]++;
            pos[S]=i;
        }
    }
    for(int i=0;i<25;i++)
        for(int s=0;s<1<<25;s++)
            if(s&(1<<i))
                S1[s]+=S1[s^(1<<i)],
                S0[s]+=S0[s^(1<<i)];
    int q;cin>>q;
    while(q--){
        string b,c;
        for(int i=0;i<5;i++)cin>>c,b+=c;
        vector<int> a(25),p2;
        int g=0;
        for(int i=0;i<25;i++) {
            if (b[i] <= 'Z')a[i] = 2,p2.push_back(i);
            else if (b[i] == 'r')a[i] = 1,g++;
        }
        auto count=[&](){
          int c0=0,c1=0,s0=0,s1=0,s2=0;
          for(int i=0;i<25;i++){
              if(a[i]==0)c0++,s0|=(1<<i);
              else if(a[i]==1)c1++,s1|=(1<<i);
              else s2|=(1<<i);
          }
          int ans=0;
          if(c1<=c0){
              for(int s=s1;;s=(s-1)&s1){
                  int k=__builtin_popcount(s);
                  int f=((c1-k)&1)?-1:1;
                  ans+=f*S1[s|s2];
                  if(!s)break;
              }
          }else{
              for(int s=s0;;s=(s-1)&s0){
                  int k= __builtin_popcount(s);
                  int f=((c0-k)&1)?-1:1;
                  ans+=f*S0[s|s2];
                  if(!s)break;
              }
          }
          return ans;
        };
        while(p2.size()>9){
            a[p2.back()]=0;
            if(!count())a[p2.back()]=1;
            p2.pop_back();
        }
        int s2=0,s1=0,res=-1;
        for(int i=0;i<25;i++){
            if(a[i]==2)s2|=(1<<i);
            if(a[i]==1)s1|=(1<<i);
        }
        for(int s=s2;;s=(s-1)&s2){
            if(pos[s|s1])res=pos[s|s1];
            if(!s)break;
        }
        if(res==-1)cout<<"IMPOSSIBLE\n";
        else cout << t[res] << " " << g << "\n";
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 867ms
memory: 396500kb

input:

3
actor
cheat
zeta
1
rBBnR
NRnbB
nRRnR
NRxBr
nBRbB

output:

actor 2

result:

ok OK

Test #2:

score: 0
Accepted
time: 1598ms
memory: 404428kb

input:

100000
elqhnetajrxtexqelrfc
mkvfckyvpdcyjvojoidq
cwvgawpgvrjcjpcepmgq
chmwujlinjcintvlkvkr
pnyhiaxrkuyhuahepxng
wcrrkrwymclhhjeacypg
txcxpaqkirtcxqyydiro
hxnpoyeycpqxdgempgctp
angigamneabnhgjdbeely
eaacjfumbqnngejwqqgp
ufffbsppvgbjjgvhbdvi
srkdpatxsanakxtrhprg
jbwyapjyspjrqfupoasc
evleiposkxmnpxdymo...

output:

bqewjwokxexykquvnqjr 7
sdaasbnwuquooiiwdtml 7
fxggsxcqjdplrpeodgfn 6
iaxylkltwjiykitbbryh 7
vhnomhhfuvkfgkbtguox 6
tfqaotcmiglgitlmotxut 7
lfmcsjxaovfcjojgjrou 7
iihfdlfvrudawdqofliy 6
yeukaduiicfvieuebogx 7
gpgtpubjsmtfpatgaatv 6
wmdhrjgtjqacrcuhqcvs 5
hvbxxdybvlexchyivxboa 7
ohswwwtoxvvwyntwnbcuxk...

result:

ok OK

Test #3:

score: 0
Accepted
time: 1764ms
memory: 404284kb

input:

100000
ktglptogbrjtkojqbo
pnrwcppddjkxiumbw
itkfkaaskgbbwigj
cisexgqsmohonvdl
ltxuruvqhmyfstwam
rmyqktnfiqigpyrb
iqcjwycfyaewlqas
ygvpyuxgxnxylqod
llrppayuqlncfblt
kjqfemveotvbsjkd
kiehemetflndmikb
atjxiumicxkktygf
ftxprhominotnqmmg
uqbdtupbxocmcbkv
eesymnhkoltcmlod
aueucienoipohneoo
modcffaedqqlafn...

output:

qajvjukoyfxmujjp 7
ldhkkvdckdjxjrcn 7
qmqtqvorslcbvpsf 4
kmsyjpaalemqpyebqqn 7
unnvwjetxijwxtfb 7
tonudvctdxxuuawg 7
uingforidrbrkcry 7
eollveomcujgunns 7
swdwbfgtjlkovjwsma 7
vmfdkyxfdbljhscp 7
feihufwwmefmypbd 7
bbvobvhltowfxqjg 2
enltshqpdrenvghxub 7
ntwjhtqvldwiirxf 7
exbrbtxfvcoueufj 7
aeylyeoo...

result:

ok OK

Test #4:

score: 0
Accepted
time: 1656ms
memory: 404340kb

input:

100000
srdfpsajcabsdyypblnmkydkblxjcq
yyvwesfhwjjpfrbfsbkqnqanrornkm
wcaolxfulvvduvxxamfqoqogwofvwi
ayjkyafapxaljgrllagfybpapofoxq
ytqmjsfiqmhevvjixbhygmjnemxljr
msiegrgwicnexrunhibybgrwghuemq
dstffbynonlnlpdtltffwgbfttxlfz
kbbeahfbcfqqbbeuxojtroiutkcftg
kqofpvmecbjitvvuxbskfpaoojxjqy
tyccmmehficqth...

output:

appssdbhdyljgtkegddvtwlunkjdni 6
rqqrrnsosiniadbcnnwoisdcqnfbhg 3
cxjdrqamrndyrcwjayjopkkwjllcwb 6
avxwqclhwdagsvqbhvedwvjvhigibo 5
kxjcbjvlgbjpkimedlmmqkeeyypqxs 6
erahkexdawuummjvwpvkwbrwubwnnt 6
ekhaeogjqeeobbehiqqmyjvomthahc 5
vftbfjeddhhmffhvhvgqhfjhlwfxes 6
vovtotrshbhuvrkdvshiaphobdroxf 2
xpl...

result:

ok OK

Test #5:

score: 0
Accepted
time: 1566ms
memory: 404452kb

input:

100000
dolfdepkwgaulpokkwwk
lfwefbbryleomriwuajt
klvbivnfojughhfkbgds
fnhrufroxfqutjqnggxs
yqhmjhmbxiklybjusmxc
lfpeefrjxrpldnfscvxt
ftdlobogvvfgaiynnysm
ehevewoqaeyuymtbjdqk
fccssxdhicmvsrxygwxd
yqckkixyyukgkxnwxcwb
hcvqrtdvrcjxobovnbwy
paxuatcocovsupobfbir
eswjnywsnevrjyefngno
wpcmcwjvbwoppkaehfbq...

output:

dcldduaeqcletcaxhsxo 2
njtrsajcwybcobdigleu 6
ycujpubvtmmibtbuyncd 5
ieocyubxcfffaifkcrgh 4
bdwytgevmrevnpgrrtjh 5
nfsuccreawogiaiqftsb 6
rdfxktsxnxtroklfwkah 4
hlldcoulbwmaapvvhwlf 6
bysqvqwpakutdrcbbeag 5
riipxycnvwrnruhhvpxm 3
nrismhicxaaiwkhmgmat 6
uwrvxbhhioqlahivlpvf 5
qqhobnogkixnlljjpbgu 4
p...

result:

ok OK

Test #6:

score: 0
Accepted
time: 1827ms
memory: 399516kb

input:

100000
sycrxchoiqpbn
hbgwwtcmtmsoln
gfkoekgbudwin
opsvawubfctvl
nkbpbldtpeudj
gawbjoptpqdan
dcvkyxifsvfal
vfjnctrfkrqyi
ejotlcalhjsuq
ebyigyulkepoc
gbjrgshldchbn
mdmgcixhajqsw
vssbkddvsevvm
lejlihhuajsdq
wxbrpfwkgwmrq
cxjonbjxvshql
vjxpyvjwktlhft
pqkuqhagjboke
eowkmghpwjjgnd
aywvehjkhedxr
iwtqxiwvko...

output:

mdeflgjiibgun 7
hvocjjiboxtyk 7
begftifokjliy 7
bwankwtalfytc 7
bwdosbicauqfd 7
thtdmknqlwxvo 7
ejvtlvhtbldxa 4
vvpaadxhwyult 7
hwfpuybnopiuq 7
uokrduduawfpn 7
emxflredqsahn 7
biqmpwfehifec 7
ysijsnursfvwx 6
elhxbamciflynj 7
iwawhsgfusape 7
ocvkcyucnqqrt 7
ocrulqaojmlphj 7
goxtncueugcgw 7
qipaadvgmn...

result:

ok OK

Test #7:

score: 0
Accepted
time: 1538ms
memory: 404332kb

input:

100000
drjfnddxclqyxbchqyrtqaew
vyciggoxoytxcakybpgusmke
qenyjdjxcvuvrxwyficpjxvbc
lluukkdjprgoyleryldiphrs
aitvhsjjvvixxdaxuwxghtxl
kxyfnecpxlevsuyjhivjuncrl
bfipfspsththixxmbtuwlckrk
ywojxvofvpgguonqaarlpwjdo
uwpteeknbgnhgettvmvtcuds
ixbquqfibdsxigxkxyeditvrn
ytkwirsuvmfexywccjmhtotg
adxhsaqglerfr...

output:

ebsemuhvrbrmixvsvdudgbyn 4
njupjesmoxswafkdujredaha 4
nousirioskxhdtbifvflhqwp 4
inrixnrubcpruhciouwhiptm 5
pabuobamtquifadjbbjowggr 5
rvxhiglscinafdtremmoxhmb 4
slpmtmruqlairuxmtpkwxvwg 5
mglemaxrmqgrrbvsgnimlafc 5
jvxhyxoxxjjjkfklyyfrvlou 5
evlciciaharlkcryhvdwnrmo 4
tcsilsrprtwjulnsfdwkrhbq 5
maw...

result:

ok OK

Test #8:

score: 0
Accepted
time: 1405ms
memory: 399432kb

input:

100000
fqcjarqfl
cljuaphxe
liimhwhvr
mxqmsnilp
mndapkfxid
maokbecdr
knoeifvfc
rmkgkrdsi
hfrntlxuw
jagpdtrpex
qgvqwrohcb
dyudsjskt
xfyrtwffv
nlhmhehay
peknoaacba
ooqavcjkd
bpbncuqjs
drlyhwacu
ihkvwajrx
dhkhslhrj
xkrfcieij
nsvtvjlsg
gosydfthp
obpcogedn
yshibnteg
hoalyohne
gmjobrytf
sbhjedabt
puhahyvwv...

output:

irqxpsvpfk 3
guiyhixkd 2
knpkvvxxs 3
xaiptxvoq 3
gwccvuira 3
kfqtwmiov 3
fhmpayvkq 3
cnhfcreys 3
dbemtmpfg 3
fmvgkjwgr 3
pulmvnbhj 3
bplxrheqn 3
hxecjdqifx 3
tcchmghpf 3
ixumtwgwkt 3
pkanxwcio 3
plfefshybvi 3
eccrokbai 3
xupnjllac 3
sxcxontqe 3
xmwjwvlvh 3
gxcqasicn 3
csqwlprvg 3
ovddyjaru 3
rcjiruu...

result:

ok OK

Test #9:

score: 0
Accepted
time: 1331ms
memory: 399520kb

input:

100000
qrbx
gmhv
yobm
xfgl
iwkd
ugiq
hvnibj
aswp
lbej
ygfxn
koyx
rtogf
xbfm
lguqc
xvrf
vyjr
pwyo
rbmtd
xuoe
gkfu
vyuh
wuic
nhur
labq
vgdxs
xuoj
hrjs
cgphs
lkdi
lqgb
unjha
canb
cmtr
cxat
vmhq
juod
pnxm
bxtjtf
brne
tjvo
ucxr
nqegx
ojwa
xsuq
sqab
eutb
cvpe
trsq
ayedi
wljd
oqfb
qlsw
yqcpt
ehwo
dpqe
sldn...

output:

blpf 4
wjbi 4
jkbik 4
dlhy 4
vlxhd 4
xwlmh 4
dtic 4
mhqu 3
dikl 4
yaoh 4
hedc 3
fwmk 4
hkyo 4
jnlw 4
cfqg 4
bcdv 4
qlga 4
asbu 4
ybmv 4
vptx 4
xklu 4
ydul 4
lbgm 4
jmpi 4
yptgje 4
btgl 4
nbyp 4
eianj 4
xcmu 4
rgbm 4
gaxr 4
elhd 4
fscu 4
smxus 4
ucdv 4
wfsu 4
eard 4
ojut 4
mwnh 4
iwlcy 4
nomj 4
yfgi ...

result:

ok OK

Test #10:

score: 0
Accepted
time: 1491ms
memory: 399560kb

input:

100000
fvkxyvoemo
faibbosqw
fixtifclg
fhkbghxvu
rvncsmygw
xvntvxgmi
fsvjflqga
eoihuvckss
onvdpmrwg
yllugptkd
mobejpeva
adfufyrkqg
atjdjtuick
efjvancqr
ypkktlggno
hwfkkfgqot
phcjyybya
lwpbtlxarw
wphyrbxet
gavkuuste
jkrwpdmnf
efymdftqi
hereuawto
muxngxpofa
kjljbhnhp
cpwydtxpr
lvqtqgxuf
yuibyttcx
xetua...

output:

lqejverya 7
jdebppahv 7
pvillfsid 7
bfaceuiyqk 7
friyovegms 5
hramvfakq 7
ndnsjucktfz 7
nsptyjxic 7
hnvfspkmc 7
salfonpquj 7
agyhxngic 7
dkapgimln 7
btsdnxyfow 7
nnedlwrocy 7
khhgmcnyi 7
djcdhlyme 7
neagylcbfz 7
hfxbwspsvu 7
xnfbtkonq 7
yetgmnhix 7
qcjkvhwju 7
exxdfevjy 7
oyhesmlkg 7
bbvdhgmbs 7
qkf...

result:

ok OK

Test #11:

score: 0
Accepted
time: 1779ms
memory: 404276kb

input:

100000
udeisirksumgpnkdptgx
obpbecioogooysbeomrh
fvacddwxyltvckkxaaro
aykrklkggaioudikoflx
mdlurjsqedylpktcteuh
yrtbckodycctknntbcsa
tmktmhkukpavwfdwbfcg
ifqyiftpqygxqxsfyptr
rhuxxhjktbppsxdrwkfn
yffeakwyejswpfpnkpbu
lbvtdorrnebdydniurbh
xgkokxjyquttihnkxkrwm
vhssnwppqayfhuqlnciky
jbbwsctbeeutbswvfr...

output:

aunskuacirqnrfwfhwtj 7
aleexbawcvtroawbijcu 6
avwiiixxjbqhvdqbvaaf 7
mmicsnklhhiihylhcttp 6
elpsfjujbhrevmyevlrr 7
dmglliwijtigcyyfqofe 7
lrypjtrdaqyxhllpqxie 6
iglnhclgehvwvbqnhied 7
ifddoavlqdiibmlejbopix 6
akvojpbixbmucbmupxuq 6
eohdbdwerhrqsdbjggli 7
vncnblkirkcioegefqftu 7
fqartcdoctbbglosajfy ...

result:

ok OK

Test #12:

score: 0
Accepted
time: 1199ms
memory: 397148kb

input:

10000
epoarwirgbseovyvm
inswqfprsjrsqxmv
duqyvuwrocjgnjf
mdltatwhdgyrren
hhjuejejlnhqvvscc
ahuqnjnuyjfqwgiop
fmirskawesoejmxsy
xoejtiaagjraxmlf
jpnpuejuasdpawrg
edhyfynkgamyeupw
edkltbnxyceteep
vfcuclfmglsaoiy
uylcbalcbwvndleguuu
hbhoixetoilismq
ykghcclpyjfjmmssjkl
jbmfxwkfhyliimq
xyggrngvkqsguipa
r...

output:

ivkxleqcksvnpijgt 3
ppsqcdstjtagelnla 3
pxcghkkhsnyqxfuvfm 3
ikpvltmrqsbimcush 3
nualfarqctljgvs 3
ttxkvggftlcvoqsi 3
mdmebdloobsnmdpa 3
qvqckoxvioshtpm 3
uqjfggaqttwvjci 3
vhqefxuulnyakht 3
texktcogncoqgghw 3
tfegborgwxhklsn 3
mowxkjxwgjwjmbu 3
evarkxevxpurksmsfo 3
tvxrxdcpfvupisnz 2
cfhtjsowhljrsl...

result:

ok OK

Test #13:

score: 0
Accepted
time: 1209ms
memory: 397152kb

input:

20000
nihhjixfk
balwnotjca
uhgeacgbn
vuljupyxuk
mqcxqqcgb
atohkruf
uwrvhscfx
vudywbla
xsbwkftg
wallmxeob
jbyebjmihhot
ihkrbpafi
xetnoqhd
tnytmpwlxgb
jnwnicrb
aiokxqjnry
jgkkhpvdxh
ptdpbbbjla
ufkeokip
vounpqjlsc
rblobimge
vyboqkbpry
wlicyqkm
phcerdjvy
roarpcpf
snowjsoxu
vjdtxgju
dygjunotkq
vebvekqy
l...

output:

tgajswov 3
teglxdhsicn 3
gxrybfvwn 3
btirhjmym 3
wtvmhmkl 3
seubcmtvh 2
hhqdmtby 3
nlfcdfliap 3
gooncwqdb 3
lmibjhdk 3
yffiwqol 3
qtkrsdmomm 3
jvipjopa 1
udxynhvbzv 3
pjoarnpt 3
lawcivruxq 3
bjttbkhxg 2
nmjuwnpq 3
rckdvgloebz 3
ktxuxrrb 3
kemsjdpbq 3
cpwluevhvj 3
rkyidwpud 3
lammvwdou 3
wtdtotte 3
k...

result:

ok OK

Test #14:

score: 0
Accepted
time: 1199ms
memory: 396888kb

input:

10000
skskcjwksvswxwyclf
lcmmdhxrmgmwp
vgbyowxcjfxaa
riskdngidgtje
isillkwgmlhjz
pknbgepciagdueyewgr
torrbwhutmrjj
trnmcdyxnvkagz
ugamldvbxqgji
kdtodylsdhwa
cueclpecbccdsdon
tevofrrlfjvkdv
kmprlwjtyindoyq
fufeshokckktcqe
cvssdhocpqvw
uinepwahuajkrr
fpqtikyswrqd
mobsnsaqnjawux
ehllrajyqfldygnl
bjocky...

output:

rjugqaivkvidcret 1
rjugqaivkvidcret 1
jwxctpigjtlaz 1
rjugqaivkvidcret 1
dyatmjbksxlrrbb 1
rjugqaivkvidcret 1
saxybfrshbkwaf 1
wtwhqnlrxsvavrj 1
dyatmjbksxlrrbb 1
rjugqaivkvidcret 1
lytxwucgvdsjkp 1
jwxctpigjtlaz 1
dyatmjbksxlrrbb 1
auddmbhjabifo 1
dyatmjbksxlrrbb 1
dyatmjbksxlrrbb 1
jwxctpigjtlaz 1...

result:

ok OK