답안 #320988

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
320988 2020-11-10T12:47:46 Z tjdgus4384 구간 성분 (KOI15_interval) C++14
30 / 100
1000 ms 484 KB
#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;
}

Compilation message

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++){
      |                                            ~~~~~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 5 ms 364 KB Output is correct
4 Correct 8 ms 364 KB Output is correct
5 Correct 8 ms 364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 564 ms 256 KB Output is correct
2 Correct 414 ms 484 KB Output is correct
3 Correct 443 ms 364 KB Output is correct
4 Correct 365 ms 364 KB Output is correct
5 Correct 672 ms 484 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1055 ms 364 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1052 ms 364 KB Time limit exceeded
2 Halted 0 ms 0 KB -