# PBinfo #2738 – DistLungMax – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Cerința
Se dă un șir de caractere care conține cuvinte formate din litere mici ale alfabetului englez și separate printr-un singur spațiu. Să se determine cel mai lung cuvânt care are toate literele distincte. Dacă nu există niciun cuvânt cu toate literele distincte se va afișa -1.

Date de intrare
Programul citește de la tastatură un șir de caractere.

Date de ieșire
Programul va afișa pe ecran cuvântul determinat sau -1, conform cerinței.

Restricții și precizări

șirul dat conține maximum 255 de caractere
dacă există mai multe cuvinte cu toate literele distincte de lungime maximă se va afișa cel mai din stânga

Exemplu
Intrare

abcabcd abcdef ab
Ieșire

abcdef

## Cod sursă C++

```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int ok=0;
    string s,ss;
    getline(cin,s);
    vector<string> v;
    istringstream b(s);
    for(string w;b>>w;)
        v.push_back(w);
    for(int i=0;i<v.size();i++)
    {
        ok=0;
        vector<int> w(300);
        s=v[i];
        for(int j=0;j<s.size();j++)
            if(!w[s[j]])
                w[s[j]]++,ok=1;
            else
            {
                ok=0;
                break;
            }
        if(ok && s.size()>ss.size())
            ss=s;
    }
    if(ss=="")
        cout<<-1;
    else
        cout<<ss;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2738)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2738/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2738/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
