제출 #320988

#제출 시각아이디문제언어결과실행 시간메모리
320988tjdgus4384구간 성분 (KOI15_interval)C++14
30 / 100
1055 ms484 KiB
#include<bits/stdc++.h>
using namespace std;
int cnt1[30], cnt2[30], chk[30], ans;
string s1, s2;

int main(){
    cin >> s1 >> s2;
    for(int i = 0;i < s1.size();i++){
        for(int k = 0;k < s2.size();k++){
        int diff = 0;
        for(int j = 0;j < 30;j++){
            cnt1[j] = cnt2[j] = chk[j] = 0;
        }
        for(int j = 0;i + j < s1.size() && j + k < s2.size();j++){
            cnt1[s1[i+j]-'a']++;
            cnt2[s2[j+k]-'a']++;
            if(cnt1[s1[i+j]-'a'] != cnt2[s1[i+j]-'a'] && chk[s1[i+j]-'a'] == 0) {diff++; chk[s1[i+j]-'a'] = 1;}
            if(cnt1[s1[i+j]-'a'] == cnt2[s1[i+j]-'a'] && chk[s1[i+j]-'a'] == 1) {diff--; chk[s1[i+j]-'a'] = 0;}
            if(cnt1[s2[j+k]-'a'] != cnt2[s2[j+k]-'a'] && chk[s2[j+k]-'a'] == 0) {diff++; chk[s2[j+k]-'a'] = 1;}
            if(cnt1[s2[j+k]-'a'] == cnt2[s2[j+k]-'a'] && chk[s2[j+k]-'a'] == 1) {diff--; chk[s2[j+k]-'a'] = 0;}
            if(diff == 0) ans = max(ans, j+1);
        }
        }
    }
    printf("%d", ans);
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

interval.cpp: In function 'int main()':
interval.cpp:8:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |     for(int i = 0;i < s1.size();i++){
      |                   ~~^~~~~~~~~~~
interval.cpp:9:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |         for(int k = 0;k < s2.size();k++){
      |                       ~~^~~~~~~~~~~
interval.cpp:14:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |         for(int j = 0;i + j < s1.size() && j + k < s2.size();j++){
      |                       ~~~~~~^~~~~~~~~~~
interval.cpp:14:50: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |         for(int j = 0;i + j < s1.size() && j + k < s2.size();j++){
      |                                            ~~~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...