Submission #38443

#TimeUsernameProblemLanguageResultExecution timeMemory
38443kajebiii구간 성분 (KOI15_interval)C++14
100 / 100
513 ms2288 KiB
#include <bits/stdc++.h> using namespace std; #define SZ(v) ((int)(v).size()) #define ALL(v) (v).begin(),(v).end() #define one first #define two second typedef long long ll; typedef pair<int, int> pi; const int INF = 0x3f2f1f0f; const ll LINF = 1ll * INF * INF; const int MAX_N = 2e3 + 10; typedef unsigned int ui; int N, M; char Ns[MAX_N], Ms[MAX_N]; int main() { scanf("%s", Ns); N = strlen(Ns); scanf("%s", Ms); M = strlen(Ms); int ans = 0; for(int l=min(N, M); l>=1; l--) { vector<int> n(26, 0), m(26, 0); for(int i=0; i<l-1; i++) n[Ns[i]-'a']++, m[Ms[i]-'a']++; set<vector<int>> s; for(int i=l-1; i<N; i++) { n[Ns[i]-'a']++; if(i-l>=0) n[Ns[i-l]-'a']--; s.insert(n); } for(int j=l-1; j<M; j++) { m[Ms[j]-'a']++; if(j-l>=0) m[Ms[j-l]-'a']--; if(s.find(m) != s.end()) { ans = l; goto finish; } } } finish: printf("%d\n", ans); return 0; }

Compilation message (stderr)

interval.cpp: In function 'int main()':
interval.cpp:20:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", Ns); N = strlen(Ns);
                 ^
interval.cpp:21:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", Ms); M = strlen(Ms);
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...