zoukankan      html  css  js  c++  java
  • codefoeces 864B

    B. Polycarp and Letters
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s consisting only of lowercase and uppercase Latin letters.

    Let A be a set of positions in the string. Let's call it pretty if following conditions are met:

    • letters on positions from A in the string are all distinct and lowercase;
    • there are no uppercase letters in the string which are situated between positions from A (i.e. there is no such j that s[j] is an uppercase letter, and a1 < j < a2 for some a1 and a2 from A).

    Write a program that will determine the maximum number of elements in a pretty set of positions.

    Input

    The first line contains a single integer n (1 ≤ n ≤ 200) — length of string s.

    The second line contains a string s consisting of lowercase and uppercase Latin letters.

    Output

    Print maximum number of elements in pretty set of positions for string s.

    Examples
    input
    11
    aaaaBaabAbA
    output
    2
    input
    12
    zACaAbbaazzC
    output
    3
    input
    3
    ABC
    output
    0
    Note

    In the first example the desired positions might be 6 and 8 or 7 and 8. Positions 6 and 7 contain letters 'a', position 8 contains letter 'b'. The pair of positions 1 and 8 is not suitable because there is an uppercase letter 'B' between these position.

    In the second example desired positions can be 7, 8 and 11. There are other ways to choose pretty set consisting of three elements.

    In the third example the given string s does not contain any lowercase letters, so the answer is 0.

     这道题一直理解不了题意,看了代码才知道到底啥意思。

    就是先找出每一段小写字母里的不同元素有多少个,再输出其中最大那一段的值。

    #include<cstdio>
    #include<cmath>
    #include<iostream>
    #include<vector>
    #include<set>
    #include<sstream>
    #include<algorithm>
    #include<string>
    #include <cstring>
    using namespace std;
    const int maxn = 111;
    int nu[maxn];
    set<int> st;
    string s;
    int main() {
        ios::sync_with_stdio(false);
        int n;
        int maxx = 0;
        cin>>n>>s;
        s+="A";
        for(int i = 0; i <= n; i++) {
           // cout<<st.size()<<endl;
            if(s[i] >= 'a' && s[i] <= 'z') st.insert(s[i]);
            else maxx = max(maxx,(int)st.size()),st.clear();
        }
        cout<<maxx<<endl;
        return 0;
        
    }
    

      

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/zmin/p/7601108.html
Copyright © 2011-2022 走看看