█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 6815

Problema 0x5c - Decir si hay una letra repetida

  • Autor: jmorenoh
  • Fecha: 2022-12-09 15:22:46 UTC (Hace alrededor de 2 meses)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.008 s 1 KBi
#2
Correcto
0.005 s 2 KBi
#3
Correcto
0.007 s 1 KBi
#4
Correcto
0.005 s 1 KBi
#5
Correcto
0.007 s 1 KBi
#6
Correcto
0.004 s 1 KBi
#7
Correcto
0.008 s 1 KBi
#8
Correcto
0.005 s 2 KBi
#9
Correcto
0.006 s 1 KBi
#10
Correcto
0.005 s 1 KBi
#11
Correcto
0.006 s 2 KBi
#12
Correcto
0.006 s 1 KBi
Puntos totales: 100 / 100

Código

#include <bits/stdc++.h>

#define IO ios_base::sync_with_stdio(false), cin.tie(nullptr)
#define endl '\n'

using namespace std;

long long go(vector<int> &a, vector<int> &b, int k, int l, int i, int j, set<int> &s, long long acum){
    if(k<=0)return acum;

    long long res = 0;
    s.insert(b[i]);
    acum += b[i];
    if(s.size()>l){acum-=*s.begin();s.erase(s.begin());}
    res = max(res,a[i]+go(a,b,k-1,l,i+1,j,s,acum));
    s.erase(b[i]);
    acum-=b[i];

    s.insert(b[j]);
    acum += b[j];
    if(s.size()>l)s.erase(s.begin());
    res = max(res,b[i]+go(a,b,k-1,l,i,j-1,s,acum));
    s.erase(b[j]);
    acum -= b[j];

    return res;
}

int main(){
    IO;/*
    int n;cin>>n;
    vector<int> a(n+1),b(n+1);
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    int k,l;cin>>k>>l;
    set<int> s;
    cout<<go(a,b,k,l,1,n,s,0)<<endl;
    */
    string s;cin>>s;
    vector<bool> v(26,false);
    bool flag = false;
    for(char c:s){
        if(v[c-'a']){
            flag = true;
            break;
        }
        v[c-'a'] = true;
    }
    if(flag)cout<<"yes"<<endl;
    else cout<<"no"<<endl;
    return 0;
}