Submission #58834

#TimeUsernameProblemLanguageResultExecution timeMemory
58834gs18115구간 성분 (KOI15_interval)C++14
0 / 100
18 ms656 KiB
#include<iostream> #include<set> using namespace std; typedef long long LL; set<LL>S; char A[9999],B[9999]; LL Al,Bl,i,j,k; LL H[30]={2, 7, 11, 47, 263, 701, 2017, 5333, 9059, 16339, 28183, 46811, 66449, 79139, 99023, 3434983, 32758927, 273598275, 783265898, 2147483647, 8590123453LL, 36072100141LL, 928635896239LL, 2839728935982LL, 273956289356923LL, 237589237958623293LL}; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>A>>B; for(Al=0;A[Al];Al++); for(Bl=0;B[Bl];Bl++); for(i=min(Al,Bl);i>0;i--) { S.clear(); k=0; for(j=0;j<i;j++) k+=H[A[j]-97]; S.insert(k); for(j=0;j<Al-i;j++) { k+=H[A[j+i]-97]-H[A[j]-97]; S.insert(k); } k=0; for(j=0;j<i;j++) k+=H[B[j]-97]; if(S.find(k)!=S.end()) { cout<<i<<endl; return 0; } for(j=0;j<Bl-i;j++) { k+=H[B[j+i]-97]-H[B[j]-97]; if(S.find(k)!=S.end()) { cout<<i<<endl; return 0; } } } cout<<0<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...