Submission #1359972


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MOD = 1e9+7;
int solve(string s, char c){
    int n = s.size();
    bitset<100> bs;
    for(int i = 0; i < n; ++i)
        if(s[i] == c)
            bs.set(i);
    if(bs.count() >= n)
        return 0;
    //cout << c << ' ' << bs << '\n';
    for(int times = 1; times <= n; ++times){
        bs = bs | (bs>>1);
        //cout << bs << '\n';
        bool ok = true;
        for(int i = 0; i < n-times; ++i)
            if(bs[i] != 1)
                ok = false;
        if(ok)
            return times;
    }
    return n;
}
int main(){
    string s;
    cin >> s;
    int n = s.size();
    int ans = n;
    //solve(s,'r');
    //return 0;
    for(char c = 'a'; c <= 'z'; ++c){
        ans = min(ans,solve(s,c));
        //cout << c << ' ' << ans << '\n';
    }
    cout << ans << '\n';
}

Submission Info

Submission Time
Task A - Shrinking
User Andres_Unt
Language C++14 (GCC 5.4.1)
Score 300
Code Size 905 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 4
AC × 14
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 1 ms 256 KB
1_04.txt AC 1 ms 256 KB
1_05.txt AC 1 ms 256 KB
1_06.txt AC 1 ms 256 KB
1_07.txt AC 1 ms 256 KB
1_08.txt AC 1 ms 256 KB
1_09.txt AC 1 ms 256 KB